771. 宝石与石头

给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。

示例 1:
输入: J = "aA", S = "aAAbbbb"
输出: 3

示例 2:
输入: J = "z", S = "ZZ"
输出: 0
注意:

S 和 J 最多含有50个字母。
J 中的字符不重复。

题解

暴力搜索

var numJewelsInStones = function(J, S) {
    var a=0
        var j=J.split('')
        var s=S.split('')
        for(var i=0;i<s.length;i++){
            for(var k=0;k<j.length;k++){
                if(j[k]==s[i]){
                    a+=1
                }
            }
        }
        return a
};

创建字典

class Solution:
    def numJewelsInStones(self, J: str, S: str) -> int:
        dict={}
        for i in S:
            if i in dict:
                dict[i]+=1
            else:
                dict[i]=1
        res=0
        for i in J:
            if i in dict:
                res+=dict[i]
        return res

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注