Menu
CoddyTech

Longest Repeating Character Replacement

大文字の英字からなる文字列 s と整数 k が与えられます。s の位置を最大 k 個選び、それぞれの文字を別の大文字に変更できます。

変更後に同じ文字が連続している最長の部分文字列(隣り合う文字の連続した並び)の長さを返してください。

関数

characterReplacement(s: string, k: integer) → integer
sstring
大文字の文字列
kinteger
変更してもよい文字の最大数
戻り値integer
作成できる、同じ文字だけが連続する最長の部分文字列の長さ

制約

  • 1 ≤ s.length ≤ 5 × 104
  • s には英大文字のみが含まれています。
  • 0 ≤ k ≤ s.length

例

入力
s = "BAAACAB"k = 1
出力
5
説明
< p> CをAに変更すると、インデックス1から5はAAAAAになります。6文字の場合は2箇所の変更が必要です。インデックス0から5にはBとCがあり、インデックス1から6にはCと最後のBがあります。

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

challenge icon

発展問題

26個の大文字だけでなく、sに任意の文字を格納できる場合、何が変わりますか?

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

ケース1

ケース2

ケース3

入力

s = "BAAACAB"
k = 1

期待値

5