题目描述:给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
示例 1:
输入: J = “aA”, S = “aAAbbbb”
输出: 3
示例 2:
输入: J = “z”, S = “ZZ”
输出: 0_
注意: S 和 J 最多含有50个字母。
J 中的字符不重复。
emmm,这就是一个简单的遍历问题,外循环遍历S字符串,内循环便利J字符串,相同的话计数加1,然后break跳出循环。(我还想把字符串变成list遍历,汗颜。)上代码:
def panbie (J,S):
JJ=list(J)
SS=list(S)
count=0
for i in SS:
for j in JJ:#双重循环判别
if i==j:
count+=1
break
return count
print(panbie("aA","aAAbbbb"))
莫名觉得题目很简单,然后想去看看别人怎么做的,好了,接下来是别人的实现:
def panbie2(J,S):
count=0
for i in S:#字符串可以直接进行迭代
if i in J:
count+=1
return count
print(panbie2("aA","aAAbbbb"))
emmm,原来字符串可以直接进行迭代,然后可以通过in来判断内容是否在可迭代对象中。好了,新手还是多尝试下吧。
第一篇博客,就这样。