Leetcode:寶石與石頭(Python3)
阿新 • • 發佈:2018-11-01
題目描述:給定字串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來判斷內容是否在可迭代物件中。好了,新手還是多嘗試下吧。
第一篇部落格,就這樣。