题目:You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the stones you have are also jewels.
The letters in J are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so “a” is considered a different type of stone from “A”.
Example 1:
Input: J = “aA”, S = “aAAbbbb”
Output: 3
Example 2:
Input: J = “z”, S = “ZZ”
Output: 0
- java实现
class Solution {
public int numJewelsInStones(String J, String S) {
int num = 0;
for(int i=0;i<J.length();i++){
for(int j=0;j<S.length();j++){
if(J.charAt(i)==S.charAt(j)){
num++;
}
}
}
return num;
}
}
代码说明:
- 获取字符串中单个字符charAt()方法
- python实现
class Solution(object):
def numJewelsInStones(self, J, S):
"""
:type J: str
:type S: str
:rtype: int
"""
return sum(S.count(i) for i in J)
代码说明:
-
sum()函数
格式:sum(iterable,start),其中iterable为可迭代的对象,可为list列表,tuple元组,dictionary字典。
sum(iterable,start) = 可迭代对象里的数+start
例如:>>>sum([1,3,5],2) = 1+3+5+2 = 11 -
enumerate() 函数
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
enumerate(sequence, [start=0]) start – 下标起始位置