本题注意python中集合的使用即可,s = set('abc') 的结果是{'b','a','c'},python集合的元素顺序是随机的,而要得到{'abc'},则可以用s = set(['abc']),或者s = set() 再s.add('abc')。
总之,可以将set()理解为强制类型转换,set('abc')是将一个串集合化,而set(['abc'])是将一个列表集合化。
import numpy as np
def numJewelsInStones(J, S):
"""
:type J: str
:type S: str
:rtype: int
"""
cnt = 0
s = set(J)
for c in S:
if c in s:
cnt += 1
return cnt
# samples:
J,S = "aA", "aAAbbbb"
print(numJewelsInStones(J, S))
J,S = "z", "ZZ"
print(numJewelsInStones(J, S))