Ctrl K

Отрезки с точным минимумом и максимумом

Сложная
Датчик записал показания в массив readings. Даны также числа lo и hi. Отрезок показаний (непрерывный кусок массива) подходит, если самое маленькое показание в нём равно **ровно** lo, а самое большое — **ровно** hi. Верните количество подходящих отрезков. Отрезки, стоящие в разных местах, считаются разными, даже если совпадают по содержимому.
Пример 1
readings=[4, 2, 6, 3, 7], lo=2, hi=6 → 4

Подходят отрезки [2, 6], [4, 2, 6], [2, 6, 3] и [4, 2, 6, 3]. Любой отрезок с 7 уже не годится: его максимум больше 6.

Пример 2
readings=[3, 3, 3], lo=3, hi=3 → 6

У каждого из 6 отрезков минимум и максимум равны 3.

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

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