values. Переставьте его элементы так, чтобы они строго чередовались «низко — высоко»:
values[0] < values[1] > values[2] < values[3] > values[4] < …
Гарантируется, что такая перестановка существует. Если подходящих вариантов несколько, годится любой. Верните переставленный массив.
Решение через сортировку работает за O(n log n). Получится ли за O(n) по времени и с O(1) дополнительной памяти?values=[2, 2, 4, 1, 3, 3] → [2, 4, 2, 3, 1, 3]
Например, [2, 4, 2, 3, 1, 3]: 2 < 4 > 2 < 3 > 1 < 3. Соседние элементы никогда не равны.
values=[6, 5, 5, 4] → [5, 6, 4, 5]
Две пятёрки нельзя ставить рядом. Подходит, например, [5, 6, 4, 5]: 5 < 6 > 4 < 5.
values=[9] → [9]
values=[2, 2, 4, 1, 3, 3]
[2, 4, 2, 3, 1, 3]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 35 тестов на сервере, включая скрытые.