Menu
CoddyTech

Partition Labels

小文字のアルファベットからなる文字列 s が与えられます。各文字が1つの部分にのみ現れるように、できるだけ多くの連続した部分に分割してください。ある文字が部分に現れる場合、その文字のすべての出現箇所がその部分に含まれている必要があります。左から右の順に、各部分の長さを返してください。

関数

partitionLabels(s: string) → integer-array
sstring
切り取る文字列(小文字のみ)
戻り値integer-array
各部分の長さ(左から右へ)

制約

  • 1 ≤ s.length ≤ 5 × 104
  • sには小文字の英字のみが含まれます。
  • 各部分は元の順序を保ち、合わせてsの全体を構成するため、各部分の長さの合計はs.lengthになります。

例

入力
s = "abacdcefe"
出力
[3, 3, 3]
説明
aは0と2にあり、cは3と5に、eは6と8にあるため、切れ目はabaの後とcdcの後に入ります。どの部分も、先頭と末尾が同じ文字なので、さらに分割することはできません。

lock icon提出時に隠しテスト+14件

コードをリセット
def partitionLabels(s):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

s = "abacdcefe"

期待値

[3, 3, 3]