Menu
CoddyTech

Partition Labels

Otrzymujesz ciąg s składający się z małych liter. Podziel go na jak najwięcej kolejnych części, tak aby każda litera występowała tylko w jednej części: jeśli litera pojawia się w jakiejś części, wszystkie jej wystąpienia znajdują się w tej części. Zwróć długości części od lewej do prawej.

Funkcja

partitionLabels(s: string) → integer-array
sstring
ciąg znaków do wycięcia, tylko małe litery
Zwracainteger-array
długość każdej części, od lewej do prawej

Ograniczenia

  • 1 ≤ s.length ≤ 5 × 104
  • s zawiera wyłącznie małe litery alfabetu angielskiego.
  • Te części zachowują swoją kolejność i razem składają się na całe s, więc ich długości sumują się do s.length.

Przykłady

Wejście
s = "abacdcefe"
Wyjście
[3, 3, 3]
Wyjaśnienie
Litery a znajdują się na pozycjach 0 i 2, litery c na pozycjach 3 i 5, a litery e na pozycjach 6 i 8, więc cięcia wypadają po aba i po cdc. Żadnej części nie można już przeciąć, ponieważ każda zaczyna się i kończy tą samą literą.

lock icon+14 ukrytych testów przy wysłaniu

Zresetuj kod
def partitionLabels(s):
    # Napisz kod tutaj
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

s = "abacdcefe"

Oczekiwane

[3, 3, 3]