Ctrl K

Буква набирает k повторов: большие данные

Сложная
Дана строка text из строчных латинских букв и число times. Посчитайте, сколько у строки непрерывных подстрок, в которых **хотя бы одна** буква встречается не меньше times раз. Подстроки, совпадающие по содержимому, но стоящие в разных местах, считаются разными. Строка может быть длиной в сотни тысяч символов — перебор всех подстрок не уложится по времени.
Пример 1
text="xyxzy", times=2 → 4

Подходят "xyx", "xyxz", "xyxzy" (в них два x) и "yxzy" (два y) — всего 4.

Пример 2
text="abc", times=1 → 6

При times = 1 подходит любая из 6 подстрок.

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

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