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. Для шести букв потребуются два изменения: в индексах с 0 по 5 находятся B и C, а в индексах с 1 по 6 — C и последняя B.

lock icon+17 скрытых тестов при отправке

challenge icon

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

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

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

Случай 1

Случай 2

Случай 3

Ввод

s = "BAAACAB"
k = 1

Ожидается

5