1. 程式人生 > 其它 >771. 寶石與石頭(暴力、雜湊)2

771. 寶石與石頭(暴力、雜湊)2

技術標籤:LeetCode

給定字串J代表石頭中寶石的型別,和字串S代表你擁有的石頭。S中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。

J中的字母不重複,J和S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。

示例 1:

輸入: J = "aA", S = "aAAbbbb"
輸出: 3
示例 2:

輸入: J = "z", S = "ZZ"
輸出: 0

解法一:暴力

直接兩層迴圈暴力,就不說了嘛

解法二:雜湊

class Solution {
    public int numJewelsInStones(String J, String S) {
        int res = 0;
        Set setJ = new HashSet();
        for (char j: J.toCharArray())
            setJ.add(j);
        for (char s: S.toCharArray())
            if (setJ.contains(s)) res++;
        return res;
    }
}