[2, 9, 4, 6, 1] — качель (разности +7, −5, +2, −5), а [2, 5, 8, 1] — нет: первые две разности обе положительные.
Дан массив values. Из него можно вычеркнуть любые элементы, сохранив порядок оставшихся. Верните наибольшую длину качели, которую можно так получить.
Получится ли за O(n)?values=[3, 8, 8, 5, 6, 2, 2, 9] → 6
Например, 3, 8, 5, 6, 2, 9: разности +5, −3, +1, −4, +7 чередуют знак. Длина 6. Повторы 8 и 2 приходится выбрасывать — разность 0 не считается ни ростом, ни спадом.
values=[10, 20, 30, 40] → 2
Последовательность только растёт, поэтому длиннее двух элементов не взять: например, 10, 40.
values=[7, 7, 7] → 1
values=[3, 8, 8, 5, 6, 2, 2, 9]
6
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 136 тестов на сервере, включая скрытые.