history[i] — буква тарифа абонента МТС в i-й месяц, например "A" — один тариф, "B" — другой. Часть записей — ошибки биллинга.
Можно исправить не больше k месяцев, поставив любой тариф. Верните длину самого длинного отрезка подряд идущих месяцев, который после исправлений будет одного тарифа.
В работе: Программа лояльности считает стаж на тарифе: у абонента 120 месяцев истории и 2–3 записи с ошибкой миграции, и без исправлений стаж обнуляется посреди периода.
Пример 1
Ввод
history = "AABABBA" k = 1
Вывод
4
Исправить B в «AABA» — 4 месяца тарифа A.
Пример 2
Ввод
history = "ABCD" k = 0
Вывод
1
Без правок — по месяцу.
Ограничения
- 1 ≤ n ≤ 10⁵
- буквы A–Z
- 0 ≤ k ≤ n
- Лимит — 2 с на тест (1500 мс).
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def longest_one_tariff(history, k):
Источник: наша задача на данных МТС. Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.