Ctrl K

Одна опечатка и куски строки

Сложная
Дана строка text из строчных латинских букв и число limit. Строку режут на куски так: от начала берётся самый длинный префикс, в котором не больше limit различных букв, он отрезается, и то же повторяется с остатком, пока строка не кончится. Перед нарезкой разрешено заменить одну букву строки на любую другую строчную латинскую букву (а можно ничего не менять). Верните наибольшее число кусков, которое можно получить.
Пример 1
text="abab", limit=2 → 2

Меняем третью букву на c: "abcb". Режем на "ab" и "cb" — два куска. Без правки вся строка — один кусок.

Пример 2
text="mmmm", limit=1 → 3

Меняем вторую букву: "mzmm". Куски "m", "z", "mm" — три.

Пример 3
text="pqrs", limit=4 → 1
Ограничения
  • 1 ≤ len(text) ≤ 10⁴
  • text состоит из строчных латинских букв
  • 1 ≤ limit ≤ 26
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСклейка фрагментов СложнаяЛучший набор слов из фишек СложнаяДва непересекающихся палиндрома СредняяКак рассчитаться за меньше переводов СложнаяДве группы с одинаковым средним Сложная
загружаем Python…
Вход
text="abab", limit=2
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 116 тестов на сервере, включая скрытые.