perguntas da entrevista leetcode 01.06. Compress Cordas LCCI compressão corda
leetcode março 2020 uma pergunta soco diária
entrevista programador de Ouro
Título: compressão de string. Usando o número de personagens recorrentes, escrito em uma maneira de conseguir a compressão básica string. Por exemplo, o aabcccccaaa corda torna-se a2b1c5a3. Se a string "comprimido" não mais curto, a string original é devolvida. Você pode assumir a string contém apenas as letras maiúsculas (A a Z).
Exemplo 1:
Entrada: "aabcccccaaa"
Saída: "a2b1c5a3"
Exemplo 2:
entrada: "abbccd"
Saída: "abbccd"
Explicação: o "abbccd" comprimido "a1b2c2d1", o comprimento da corda é maior do que o original.
: Ponta
comprimento da corda no intervalo [0, 50000].
Fonte: botão estadia (LeetCode)
link: https: //leetcode-cn.com/problems/compress-string-lcci
Ideias: Python
detalhes:
- lista último valor Gets: lista [-1]
- lista 转 str: “” .join (lista)
código:
class Solution(object):
def compressString(self, S):
"""
:type S: str
:rtype: str
"""
l=len(S)
tem=0
ans=[]
for i in range(0,l):
if tem==0:
ans.append(S[i])
tem=1
continue
if tem!=0:
if S[i]==ans[-1]:
tem+=1
continue
else:
ans.append(str(tem))
ans.append(S[i])
tem=1
continue
ans.append(str(tem))
ansl=len(ans)
if ansl>=l:
return S
else:
return "".join(ans)
Este blog é um trabalho original, saudou a orientação, reproduzido, por favor indique a fonte, anexar um link para este artigo, obrigado!