head. Узел назовём поворотным, если у него есть и предыдущий, и следующий узел, а его значение строго больше обоих соседей или строго меньше обоих. Первый и последний узлы поворотными не бывают.
Расстояние между узлами — разность их позиций в списке. Верните [ближайшее, дальнейшее] — наименьшее и наибольшее расстояние между двумя разными поворотными узлами. Если поворотных узлов меньше двух, верните [-1, -1].head=list_node([4, 2, 6, 1, 3]) → [1, 2]
Поворотные узлы — 2 (ниже соседей), 6 (выше) и 1 (ниже), на позициях 1, 2, 3. Ближайшие стоят рядом (1), крайние — через 2.
head=list_node([2, 5, 5, 1, 4, 4, 6, 3]) → [3, 3]
Узлы с равным соседом не считаются. Поворотных два: 1 (позиция 3) и 6 (позиция 6), расстояние 3.
head=list_node([1, 2, 3]) → [-1, -1]
Значения только растут, поворотов нет.
head=list_node([4, 2, 6, 1, 3])
[1, 2]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 119 тестов на сервере, включая скрытые.