Ctrl K

Буквы поровну

Средняя
Дана строка text из строчных латинских букв и число times. Назовём непрерывный непустой кусок строки ровным, если каждая буква, которая в нём есть, встречается в нём ровно times раз. Буквы, которых в куске нет, не учитываются. Посчитайте, сколько ровных кусков есть в text. Одинаковые по содержимому куски, начинающиеся в разных позициях, считаются разными.
Пример 1
text='xxyyxy', times=2 → 4

Подходят четыре куска: «xx», «yy», «xxyy» и «xyyx». В «yyxy» буква y встречается трижды, а в двухбуквенных «xy» и «yx» каждая буква — лишь по разу.

Пример 2
text='mmmm', times=2 → 3

Кусок «mm» встречается на трёх позициях. Вся строка не подходит: в ней четыре буквы m, а не две.

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

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