Ctrl K

Ровные участки показаний

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

Подходят 4 одиночных замера, пары [6, 8] и [8, 7] и тройка [6, 8, 7] (разброс 2). Всё, что содержит 3 вместе с соседями, не подходит. Итого 7.

Пример 2
readings=[4, 4, 4] → 6

Все 6 отрезков состоят из одинаковых значений, разброс 0.

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

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