heights.
Каждую ночь засыхает каждый росток, который **строго ниже** своего соседа слева (ближайшего оставшегося в ряду). Все такие ростки засыхают одновременно, а утром ряд смыкается: засохшие убирают, и у оставшихся появляются новые соседи.
Сколько ночей пройдёт, пока ряд не перестанет меняться, то есть пока высоты слева направо не станут неубывающими? Если ряд уже такой, ответ 0.
Прямая симуляция по ночам может работать за O(n²) — попробуйте уложиться в O(n).heights=[6, 2, 4, 1, 7] → 2
В первую ночь засыхают 2 (слева 6) и 1 (слева 4), остаётся [6, 4, 7]. Во вторую ночь засыхает 4 (слева 6), остаётся [6, 7] — дальше ряд не меняется. Ответ 2.
heights=[1, 3, 3, 8] → 0
Ни один росток не ниже левого соседа, ряд уже устоялся.
heights=[9, 1, 2, 3] → 3
Каждую ночь засыхает ровно один росток: сначала 1, потом 2, потом 3 — каждый раз новый сосед девятки оказывается ниже неё.
heights=[6, 2, 4, 1, 7]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 128 тестов на сервере, включая скрытые.