Menu
CoddyTech

Partition Labels

Hai una stringa s composta da lettere minuscole. Dividila nel maggior numero possibile di parti consecutive, in modo che ogni lettera compaia in una sola parte: se una lettera compare in una parte, tutte le sue occorrenze si trovano in quella parte. Restituisci le lunghezze delle parti da sinistra a destra.

Funzione

partitionLabels(s: string) → integer-array
sstring
la stringa da tagliare, solo lettere minuscole
Restituisceinteger-array
la lunghezza di ciascuna parte, da sinistra a destra

Vincoli

  • 1 ≤ s.length ≤ 5 × 104
  • s contiene solo lettere inglesi minuscole.
  • Le parti mantengono il loro ordine e insieme compongono tutto s, quindi le lunghezze sommate danno s.length.

Esempi

Input
s = "abacdcefe"
Output
[3, 3, 3]
Spiegazione
Le a si trovano alle posizioni 0 e 2, le c alle posizioni 3 e 5 e le e alle posizioni 6 e 8, quindi i tagli cadono dopo aba e dopo cdc. Nessuna parte può essere tagliata di nuovo, perché ciascuna inizia e finisce con la stessa lettera.

lock icon+14 test nascosti all’invio

Ripristina il codice
def partitionLabels(s):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

s = "abacdcefe"

Atteso

[3, 3, 3]