Ctrl K

Блок, повторённый подряд

Лёгкая
Дан массив положительных чисел values и два числа width и times. Проверьте, есть ли в массиве блок из width подряд идущих элементов, за которым сразу же, без пропусков и наложений, ещё как минимум times - 1 раз идёт точно такой же блок. Иначе говоря: найдётся ли отрезок массива длины width * times, который состоит из одного и того же блока длины width, записанного times раз подряд? Повторов может быть и больше, чем times. Верните True, если такой блок есть, и False иначе.
Пример 1
values=[7, 3, 8, 3, 8, 3, 8, 1], width=2, times=3 → True

Блок [3, 8] идёт три раза подряд, начиная с индекса 1.

Пример 2
values=[5, 5, 2, 5, 5], width=2, times=2 → False

[5, 5] встречается дважды, но между повторами стоит 2 — они не идут подряд. Других подходящих блоков длины 2 тоже нет.

Пример 3
values=[6, 6, 6, 6], width=1, times=4 → True

Блок [6] повторяется ровно четыре раза.

Ограничения
  • 2 ≤ len(values) ≤ 100
  • 1 ≤ values[i] ≤ 100
  • 1 ≤ width ≤ 100
  • 2 ≤ times ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСогласованные тройки показаний ЛёгкаяXOR каждого подмножества ЛёгкаяТри слагаемых и сумма после них ЛёгкаяЧётные числа из карточек с цифрами ЛёгкаяТройки с равным шагом Лёгкая
загружаем Python…
Вход
values=[7, 3, 8, 3, 8, 3, 8, 1], width=2, times=3
Ожидается
True

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