キャラクターによって形成することができるleetcode 1160検索ワードは、言葉を綴ります
leetcode 2020 3月1日、質問、毎日パンチ
タイトル:
あなたは「用語集」(文字列の配列)を与える言葉と「アルファベット」(文字列)文字。あなたは「単語」「手紙」の文字と(文字列)(文字)で単語を綴ることができるなら、我々はあなたが言葉を習得したと思います。注:たびスペリングは、各文字は一度だけ使用することができます文字。あなたは長さの合計をマスターしているすべての単語に語彙を返します。
実施例1:
入力:言葉= [「猫」、 「BT」、「帽子」、「木」]、文字=「atach」
出力:6
説明:答えがので、ストリングは、「猫」と「帽子」を形成することができます3 + 3 = 6。
実施例2:
入力:言葉= [ "こんにちは"、 "世界"、 "leetcode"]、文字= "welldonehoneyr"
出力:10
説明:答えは5 + 5 =であるので、文字列"こんにちは"と"世界"を形成してもよいです10。
ヒント:
1 <= words.length <= 1000
。1 <=言葉[I] .LENGTH、chars.length <= 100の
すべての文字列が含まれている小文字のみ
出典:滞在ボタン(LeetCode)
リンクします。https://leetcode-cn.com/problems/find-words-that-can-be-formed-by-characters
アイデア:パイソン
詳細:
- strの変換リスト:リスト1 =リスト(STR1)。
- リスト转STR:「」.join(リスト)
- リスト内の要素を削除するには
list1=[1,2,3,3,4,5]
list1.remove(3)
print(list1)
# 输出[1,2,3,4,5]
コード:
class Solution(object):
def countCharacters(self, words, chars):
"""
:type words: List[str]
:type chars: str
:rtype: int
"""
ans=0
for word in words:
char = list(chars)
flag = True
for w in word:
if w in char:
char.remove(w)
continue
else:
flag=False
if flag:
ans+=len(word)
return ans
このブログは、ソースを示し、この記事へのリンクを添付してください、指導を歓迎再現し、オリジナル作品です、ありがとうございました!