Код Junior Реализация с нуля обновлено

Стабильное разделение по порогу

Условие

Верни массив из тех же элементов, где сначала идут все меньшие k, затем остальные. Внутри групп исходный порядок сохраняется.

Примеры

splitByValue(5, [1, 3, 5, 7, 6, 4, 2]) // [1, 3, 4, 2, 5, 7, 6]
splitByValue(0, [5, 2, 7, 3, 2]) // [5, 2, 7, 3, 2]
splitByValue(10, [1, 2]) // [1, 2]

Как подойти

Сортировка с компаратором по признаку «меньше k» тоже даст правильный результат, потому что сортировка в JS стабильна, но это O(n log n) вместо O(n). Два массива и склейка читаются понятнее и явно сохраняют порядок.

Подсказки: 1
  1. Два накопителя и склейка - сортировка тут не нужна и вредна.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.