Menu
CoddyTech

Partition Labels

MedioVorazHashingpython iconjava iconcpp iconc iconjs icon+10

Recibes una cadena s de letras minúsculas. Divídela en tantas partes consecutivas como puedas, de modo que cada letra aparezca en una sola parte: si una letra aparece en una parte, todas sus copias están en esa parte. Devuelve las longitudes de las partes de izquierda a derecha.

Función

partitionLabels(s: string) → integer-array
sstring
la cadena que se va a cortar, solo letras minúsculas
Devuelveinteger-array
la longitud de cada parte, de izquierda a derecha

Restricciones

  • 1 ≤ s.length ≤ 5 × 104
  • s contiene solo letras minúsculas del inglés.
  • Las partes mantienen su orden y, juntas, componen todo s, así que sus longitudes suman s.length.

Ejemplos

Entrada
s = "abacdcefe"
Salida
[3, 3, 3]
Explicación
Las a están en 0 y 2, las c en 3 y 5 y las e en 6 y 8, así que los cortes van después de aba y después de cdc. Ninguna parte se puede volver a cortar, porque cada una empieza y termina con la misma letra.

lock icon+14 pruebas ocultas al enviar

Restablecer código
def partitionLabels(s):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

s = "abacdcefe"

Esperado

[3, 3, 3]