1. 程式人生 > >Leetcode:寶石與石頭(Python3)

Leetcode:寶石與石頭(Python3)

題目描述:給定字串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來判斷內容是否在可迭代物件中。好了,新手還是多嘗試下吧。
第一篇部落格,就這樣。