close
題目如下 (取自Leetcode並自行隨意翻譯)
從S字串中,找出J字串裡面包含的所有字元的個數。
如Example 1
J字串中包含a、A兩種字元;而在S字串中有1個a,2個A,因此答案為1+2=3
Example 1:
Input: J = "aA", S = "aAAbbbb" Output: 3
Example 2:
Input: J = "z", S = "ZZ" Output: 0
在discuss看到有大大只用一行的程式碼寫出,看完實在是驚呼連連(我見識淺薄)
public int numJewelsInStones(String J, String S) {
return S.replaceAll("[^" + J + "]", "").length();
}
也因為看到這個解答,了解了正規表達式的用法,"^"符號代表except,
例如[^abc] 代表這個字元是除了"a" "b" "c"以外的。
<參考資料來源>
正規表達式:https://www.javaworld.com.tw/jute/post/view?bid=20&id=130126&sty=1&tpg=1&age=0
一行solution:https://leetcode.com/problems/jewels-and-stones/discuss/113574/1-liners-PythonJavaRuby
全站熱搜
留言列表