Menu
CoddyTech

Partition Labels

MittelGreedyHashingpython iconjava iconcpp iconc iconjs icon+10

Du erhältst eine Zeichenfolge s aus Kleinbuchstaben. Teile sie in so viele zusammenhängende Abschnitte wie möglich auf, sodass jeder Buchstabe nur in einem Abschnitt vorkommt: Wenn ein Buchstabe in einem Abschnitt auftaucht, befinden sich alle seine Vorkommen in diesem Abschnitt. Gib die Längen der Abschnitte von links nach rechts zurück.

Funktion

partitionLabels(s: string) → integer-array
sstring
die zu kürzende Zeichenfolge, nur Kleinbuchstaben
Gibt zurückinteger-array
die Länge jedes Teils, von links nach rechts

Einschränkungen

  • 1 ≤ s.length ≤ 5 × 104
  • s enthält nur englische Kleinbuchstaben.
  • Die Teile behalten ihre Reihenfolge und ergeben zusammen s, sodass sich ihre Längen zu s.length addieren.

Beispiele

Eingabe
s = "abacdcefe"
Ausgabe
[3, 3, 3]
Erklärung
Die a stehen an den Positionen 0 und 2, die c an den Positionen 3 und 5 und die e an den Positionen 6 und 8, also liegen die Schnitte nach aba und nach cdc. Kein Teil kann noch einmal geschnitten werden, da jedes mit demselben Buchstaben beginnt und endet.

lock icon+14 versteckte Tests beim Einreichen

Code zurücksetzen
def partitionLabels(s):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

s = "abacdcefe"

Erwartet

[3, 3, 3]