キャラクターによって形成することができるleetcode 1160検索ワードは、言葉を綴ります

キャラクターによって形成することができる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-c​​an-be-formed-by-characters

アイデア:パイソン

詳細:

  1. strの変換リスト:リスト1 =リスト(STR1)。
  2. リスト转STR:「」.join(リスト)
  3. リスト内の要素を削除するには
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
               

このブログは、ソースを示し、この記事へのリンクを添付してください、指導を歓迎再現し、オリジナル作品です、ありがとうございました!

公開された20元の記事 ウォンの賞賛1 ビュー198

おすすめ

転載: blog.csdn.net/weixin_43973433/article/details/104915788