珠宝和石头的问题属于简单的字符串问题
解题思路:
由于珠宝中的各个字符是独立不重复的
因此只需要在遍历石头中的各个字符并进行匹配计数即可
代码如下:
class Solution {
public:
int numJewelsInStones(string J, string S) {
int count = 0;
for (int i = 0; i < S.length(); i++)
for (int j = 0; j < J.length(); j++)
if (S[i] == J[j]) {
count++;
break;
}
return count;
}
};
不过,对于这个问题,Python的解法更加简单,精简后的代码如下:
class Solution(object):
def numJewelsInStones(self, J, S):
"""
:type J: str
:type S: str
:rtype: int
"""
return sum(S.count(j) for j in J)
只需要一个语句就可以解决
参考资料:https://blog.csdn.net/fuxuemingzhu/article/details/79188903