Код 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
- Два накопителя и склейка - сортировка тут не нужна и вредна.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.