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 ~~