[Eine Frage des Tages] 1002. Finden Sie gemeinsame Charaktere

Fügen Sie hier eine Bildbeschreibung ein
Die Bedeutung des Titels besteht darin, die gemeinsamen Buchstaben in jeder Zeichenfolge zu finden und dieselben Buchstaben mehrmals aufzulisten. Die Hauptidee besteht darin, Zeichenfolgen in Arrays abzubilden, wodurch die Abfragezeit verkürzt werden kann.

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

um zusammenzufassen:

  • Zeichen zu ASCII-Code: ord (char)
  • ASCII-Code zum Zeichen: chr (int)
  • Aufzählung: Gibt die Anzahl und den Inhalt des Iterators zurück
  • Erweitern und Anhängen: Erweitern (Liste) erweitert die Liste. Nach der Erweiterung gehört sie noch zu einer Liste. Anhängen (Liste) fügt die Liste als Element am Ende der ursprünglichen Liste hinzu

Unsinn:

Die Codebasis ist sehr schwach. Ich lese immer noch weniger und schreibe weniger. Ich beherrsche die Python-Grammatik nicht. Ich brauche mehr Übung und mehr Ausgabe, um mein Denken zu klären. Xiao Xianyu hat auch das Herz, ein Technologiegott zu sein ~~

Ich denke du magst

Origin blog.csdn.net/SJTUKK/article/details/109082570
Empfohlen
Rangfolge