)# chars去重
dic_char=
for char in chars_1:
# 統計每個字母在chars**現的次數,並存為字典
dic_char[char]
= chars.count(char)
ans =
0for word in words:
dic_w =
break_flag =
false
for char in word:
# 對每個單詞中的字母統計數量
dic_w[char]
= word.count(char)
# 與chars**現的次數進行比對
ifall
([dic_w[i]
<= dic_char[i]
if i in dic_char else
0for i in word]):
ans +=
len(word)
return ans
優化
collection包中的counter()計數器,自動統計值出現的次數並返回為字典。
class
solution
:def
countcharacters
(self, words: list[
str]
, chars:
str)
->
int:
ans =
0 cnt = collections.counter(chars)
for w in words:
c = collections.counter(w)
ifall
([c[i]
<= cnt[i]
for i in c]):
ans +=
len(w)
return ans
LeetCode 1160 拼寫單詞
題目 給你乙份 詞彙表 字串陣列 words 和一張 字母表 字串 chars。假如你可以用 chars 中的 字母 字元 拼寫出 words 中的某個 單詞 字串 那麼我們就認為你掌握了這個單詞。注意 每次拼寫時,chars 中的每個字母都只能用一次。返回詞彙表 words 中你掌握的所有單詞的 ...
LeetCode 1160 拼寫單詞
給你乙份 詞彙表 字串陣列 words 和一張 字母表 字串 chars。假如你可以用 chars 中的 字母 字元 拼寫出 words 中的某個 單詞 字串 那麼我們就認為你掌握了這個單詞。注意 每次拼寫時,chars 中的每個字母都只能用一次。返回詞彙表 words 中你掌握的所有單詞的 長度之...
LeetCode 1160 拼寫單詞
給你乙份 詞彙表 字串陣列 words 和一張 字母表 字串 chars。假如你可以用 chars 中的 字母 字元 拼寫出 words 中的某個 單詞 字串 那麼我們就認為你掌握了這個單詞。注意 每次拼寫時,chars 中的每個字母都只能用一次。返回詞彙表 words 中你掌握的所有單詞的 長度之...