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
説明
CをAに変更すると、インデックス1から5はAAAAAになります。6文字のウィンドウはどちらもBとCを含むため、2回変更する必要があります。
challenge icon

発展問題

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

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

テスト #1

テスト #2

テスト #3

引数

s = "BAAACAB"
k = 1

期待される出力

5