【Question quotidienne】 1002. Trouver des caractères communs

Insérez la description de l'image ici
La signification du titre est de trouver les lettres communes dans chaque chaîne et de lister les mêmes lettres plusieurs fois. L'idée principale est de mapper les chaînes dans des tableaux, ce qui peut raccourcir le temps de requête.

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

Pour résumer:

  • Caractère du code ASCII: ord (char)
  • code ascii en caractère: chr (int)
  • enumerate: renvoie le numéro et le contenu de l'itérateur
  • extend and append: extend (list) agrandit la liste, après l'expansion, il appartient toujours à une liste, append (list) ajoutera la liste en tant qu'élément à l'arrière de la liste d'origine

absurdité:

La base de code est très faible. Je lis toujours moins et j'écris moins. Je ne maîtrise pas la grammaire python. J'ai besoin de plus de pratique et de plus de sortie pour éclaircir ma pensée. Xiao Xianyu a également le cœur d'être un dieu de la technologie ~~

Je suppose que tu aimes

Origine blog.csdn.net/SJTUKK/article/details/109082570
conseillé
Classement