【毎日の質問】1002。一般的なキャラクターを探す

ここに写真の説明を挿入
タイトルの意味は、各文字列で共通の文字を見つけ、同じ文字を数回リストすることです。主なアイデアは、文字列を配列にマップすることです。これにより、クエリ時間を短縮できます。

class Solution:
    def commonChars(self, A: List[str]) -> List[str]:
        res = [0] * 26      # 记录共同出现的字符
        for char in A[0]:
            res[ord(char) - ord('a')] += 1    # 将字符映射到对应的数组中
        for Str in A:
            temp = [0] * 26 
            for char in Str:
                temp[ord(char) - ord('a')] += 1
            for i in range(0, 26):  
                res[i] = min(res[i], temp[i])
        ans = []
        for idx, i in enumerate(res):
            if(i != 0):
                ans.extend([chr(idx + 97)] * i)
        return ans

総括する:

  • asciiコードへの文字:ord(char)
  • asciiコードから文字へ:chr(int)
  • 列挙:イテレーターの数と内容を返します
  • 拡張と追加:extend(list)はリストを展開します。展開後もリストに属し、append(list)はリストを要素として元のリストの後ろに追加します。

ナンセンス:

コードベースは非常に弱いです。私はまだ読み取りと書き込みが少なくなっています。Python文法に習熟していません。考えを明確にするために、より多くの練習と出力が必要です。XiaoXianyuにはテクノロジーの神になる心もあります~~

おすすめ

転載: blog.csdn.net/SJTUKK/article/details/109082570