Ctrl K

Окно с потолком повторов

Средняя
Дан массив values и число cap. Отрезок массива (подряд идущие элементы, хотя бы один) назовём хорошим, если ни одно значение не встречается в нём больше cap раз. Верните длину самого длинного хорошего отрезка.
Пример 1
values=[4, 4, 1, 4, 2, 1, 1], cap=2 → 5

Отрезок [4, 1, 4, 2, 1] длины 5: четвёрок и единиц по две. Длиннее не выйти — везде появится третья 4 или третья 1.

Пример 2
values=[3, 3, 3], cap=1 → 1

Каждое число может встретиться лишь раз, подходит только отрезок длины 1.

Пример 3
values=[5, 6, 7, 5], cap=3 → 4
Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • 1 ≤ values[i] ≤ 10⁹
  • 1 ≤ cap ≤ len(values)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОтрезок плейлиста из двух жанров СредняяОкна с заданным числом тревог СредняяОтрезки с k нечётными СредняяДва отрезка с нужной суммой СредняяСнять с краёв ровно столько Средняя
загружаем Python…
Вход
values=[4, 4, 1, 4, 2, 1, 1], cap=2
Ожидается
5

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