【Pregunta diaria】 1002. Encuentra caracteres comunes

Inserte la descripción de la imagen aquí
El significado del título es encontrar las letras comunes en cada cadena y enumerar las mismas letras varias veces. La idea principal es mapear cadenas en matrices, lo que puede acortar el tiempo de consulta.

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

para resumir:

  • Carácter al código ascii: ord (char)
  • código ascii al carácter: chr (int)
  • enumerar: devuelve el número y el contenido del iterador
  • extender y agregar: extender (lista) expande la lista, después de la expansión, todavía pertenece a una lista, agregar (lista) agregará la lista como un elemento al final de la lista original

disparates:

La base del código es muy débil. Todavía leo menos y escribo menos. No soy competente en la gramática de Python. Necesito más práctica y más resultados para aclarar mi pensamiento. Xiao Xianyu también tiene un corazón para ser un dios de la tecnología ~~

Supongo que te gusta

Origin blog.csdn.net/SJTUKK/article/details/109082570
Recomendado
Clasificación