Menu
CoddyTech

Partition Labels

MédioGulosoHashingpython iconjava iconcpp iconc iconjs icon+10

Você recebe uma string s de letras minúsculas. Divida-a no maior número possível de partes consecutivas, de modo que cada letra apareça em apenas uma parte: se uma letra aparecer em uma parte, todas as suas ocorrências estarão nessa parte. Retorne os comprimentos das partes da esquerda para a direita.

Função

partitionLabels(s: string) → integer-array
sstring
o texto a ser cortado, somente letras minúsculas
Retornainteger-array
o comprimento de cada parte, da esquerda para a direita

Restrições

  • 1 ≤ s.length ≤ 5 × 104
  • s contém apenas letras minúsculas do inglês.
  • As partes mantêm sua ordem e, juntas, compõem todo o s, então os comprimentos somam s.length.

Exemplos

Entrada
s = "abacdcefe"
Saída
[3, 3, 3]
Explicação
Os a's ficam nas posições 0 e 2, os c's nas posições 3 e 5 e os e's nas posições 6 e 8, então os cortes ficam depois de aba e depois de cdc. Nenhuma parte pode ser cortada novamente, porque cada uma começa e termina com a mesma letra.

lock icon+14 testes ocultos ao enviar

Redefinir código
def partitionLabels(s):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

s = "abacdcefe"

Esperado

[3, 3, 3]