Ctrl K

Опустить до пилы

Средняя
Дан массив целых чисел heights. За один ход можно выбрать любой элемент и уменьшить его на 1 (уходить в ноль и ниже можно). Массив называется пилой, если выполняется одно из двух: - каждый элемент на чётной позиции строго больше своих соседей: heights[0] > heights[1] < heights[2] > …; - каждый элемент на нечётной позиции строго больше своих соседей: heights[0] < heights[1] > heights[2] < …. Верните наименьшее число ходов, за которое массив можно превратить в пилу.
Пример 1
heights=[6, 3, 6, 3, 1] → 3

Если пики на чётных позициях, достаточно опустить 3 на позиции 3 до 0 — три хода. Пики на нечётных позициях обошлись бы в 8 ходов.

Пример 2
heights=[2, 7, 4, 6] → 0

Массив уже пилообразный: 2 < 7 > 4 < 6.

Пример 3
heights=[5, 5, 5] → 1

Опускаем средний элемент до 4: 5 > 4 < 5. Один ход.

Ограничения
  • 1 ≤ len(heights) ≤ 1000
  • 1 ≤ heights[i] ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДве доски и вода СредняяМеньше всего прыжков до конца СредняяДобраться до последней клетки СредняяСколько угодно сделок СредняяОткуда начать круг Средняя
загружаем Python…
Вход
heights=[6, 3, 6, 3, 1]
Ожидается
3

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