Ctrl K

Пилообразные показания

Средняя
Дан массив показаний датчика readings. Назовём отрезок (подряд идущие элементы) пилообразным, если на нём значения строго чередуют подъём и спуск: каждый следующий элемент либо больше предыдущего, либо меньше, и направление меняется на каждом шаге. Равные соседи пилу обрывают. Отрезок из одного элемента считается пилообразным. Верните длину самого длинного пилообразного отрезка.
Пример 1
readings=[5, 1, 4, 2, 2, 7, 3, 6] → 4

Отрезок [5, 1, 4, 2] скачет вниз-вверх-вниз, но дальше идёт повтор 2, 2. После него [2, 7, 3, 6] тоже пилообразный. Обе длины — 4.

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

Значения только растут, поэтому пилу образует лишь пара соседних элементов.

Пример 3
readings=[8] → 1

Один элемент — уже пилообразный отрезок длины 1.

Ограничения
  • 1 ≤ readings.length ≤ 4 · 10⁴
  • -10⁹ ≤ readings[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОтрезки с ровным шагом СредняяСамая длинная серия единиц с одной правкой СредняяСамый длинный общий кусок СредняяДва непересекающихся отрезка СредняяДва отрезка с нужной суммой Средняя
загружаем Python…
Вход
readings=[5, 1, 4, 2, 2, 7, 3, 6]
Ожидается
4

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