boxes[i]. Робот-сортировщик должен поставить все коробки с чётными номерами левее всех коробок с нечётными. Работает он двумя захватами.
Левый захват начинает с первой коробки, правый — с последней. Пока левый захват левее правого, робот делает одно из трёх:
- если под левым захватом чётная коробка, левый захват сдвигается на одну позицию вправо;
- иначе, если под правым захватом нечётная коробка, правый захват сдвигается на одну позицию влево;
- иначе робот меняет две коробки местами, и оба захвата делают по шагу навстречу друг другу.
Когда захваты встретились или разошлись, робот останавливается. Верните ряд коробок в том виде, в каком его оставит робот.
Попробуйте обойтись без дополнительного массива.boxes=[7, 2, 5, 8, 4] → [4, 2, 8, 5, 7]
Левый захват стоит на 7 (нечётное), правый — на 4 (чётное): меняем их, получаем [4, 2, 5, 8, 7]. Дальше левый проходит 2 и встаёт на 5, правый встаёт на 8 — снова обмен: [4, 2, 8, 5, 7]. Захваты встретились, робот остановился.
boxes=[3, 1, 6] → [6, 1, 3]
Меняются 3 и 6, после этого захваты сходятся: [6, 1, 3].
boxes=[10] → [10]
boxes=[7, 2, 5, 8, 4]
[4, 2, 8, 5, 7]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 94 теста на сервере, включая скрытые.