Menu
CoddyTech

Partition Labels

Küçük harflerden oluşan bir s dizgesi alırsın. Her harf yalnızca tek bir parçada yer alacak şekilde, dizgeyi olabildiğince çok ardışık parçaya böl: Bir harf bir parçada görünüyorsa, tüm kopyaları o parçada olmalıdır. Parçaların uzunluklarını soldan sağa döndür.

Fonksiyon

partitionLabels(s: string) → integer-array
sstring
kesilecek dizge, yalnızca küçük harfler
Döndürürinteger-array
soldan sağa her bir parçanın uzunluğu

Kısıtlar

  • 1 ≤ s.length ≤ 5 × 104
  • s yalnızca küçük İngilizce harfleri içerir.
  • The parçalar sıralarını korur ve birlikte s'nin tamamını oluşturur, bu nedenle uzunlukları toplamı s.length değerine eşittir.

Örnekler

Girdi
s = "abacdcefe"
Çıktı
[3, 3, 3]
Açıklama
a'lar 0 ve 2. konumlarda, c'ler 3 ve 5. konumlarda, e'ler ise 6 ve 8. konumlarda bulunur; bu nedenle kesimler aba'dan sonra ve cdc'den sonra yapılır. Her bölüm aynı harfle başlayıp bittiği için hiçbir bölüm tekrar kesilemez.

lock iconGönderirken +14 gizli test

Kodu sıfırla
def partitionLabels(s):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

s = "abacdcefe"

Beklenen

[3, 3, 3]