Menu
CoddyTech

Partition Labels

SedangGreedyHashingpython iconjava iconcpp iconc iconjs icon+10

Kamu mendapatkan string s yang terdiri dari huruf kecil. Potong string ini menjadi sebanyak mungkin bagian berurutan sehingga setiap huruf hanya muncul di satu bagian: jika suatu huruf muncul di sebuah bagian, semua kemunculan huruf itu berada di bagian tersebut. Kembalikan panjang setiap bagian dari kiri ke kanan.

Fungsi

partitionLabels(s: string) → integer-array
sstring
string yang akan dipotong, hanya huruf kecil
Mengembalikaninteger-array
panjang setiap bagian, dari kiri ke kanan

Batasan

  • 1 ≤ s.length ≤ 5 × 104
  • s hanya berisi huruf kecil bahasa Inggris.
  • Bagian-bagian tersebut tetap berurutan dan secara bersama membentuk seluruh s, sehingga panjangnya jika dijumlahkan sama dengan s.length.

Contoh

Input
s = "abacdcefe"
Output
[3, 3, 3]
Penjelasan
Huruf a berada di posisi 0 dan 2, huruf c di posisi 3 dan 5, serta huruf e di posisi 6 dan 8. Jadi, pemotongan dilakukan setelah aba dan cdc, dan tidak ada bagian yang dapat dipotong lagi.
Reset kode
def partitionLabels(s):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

s = "abacdcefe"

Output yang diharapkan

[3, 3, 3]