Menu
CoddyTech

Longest Repeating Character Replacement

Дана строка s, состоящая из заглавных букв английского алфавита, и целое число k. Ты можешь выбрать не более k позиций в s и заменить букву в каждой из них на любую другую заглавную букву.

Верни длину самой длинной подстроки — последовательности букв, расположенных рядом друг с другом, — в которой после замен повторяется одна и та же буква.

Функция

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. В обоих окнах длиной шесть букв есть B и C, поэтому в каждом нужно сделать две замены.
challenge icon

Дополнительный вопрос

Что изменится, если s сможет содержать любые символы, а не только 26 заглавных букв?

Сбросить код
def characterReplacement(s, k):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргументы

s = "BAAACAB"
k = 1

Ожидаемый вывод

5