Код Junior Два указателя обновлено
Слияние двух отсортированных массивов
Условие
Два отсортированных по возрастанию массива слей в один отсортированный. Длины могут быть нулевыми.
Примеры
mergeSorted([1, 2, 5], [1, 2, 3, 4, 6]) // [1, 1, 2, 2, 3, 4, 5, 6]
mergeSorted([4, 7, 13], [3, 5, 8, 9, 11]) // [3, 4, 5, 7, 8, 9, 11, 13]
mergeSorted([], [1, 2]) // [1, 2]
Как подойти
Ядро сортировки слиянием. Нестрогое сравнение <= делает слияние устойчивым: равные элементы из первого массива остаются перед равными из второго, что важно при сортировке объектов по ключу. Конкатенация с последующей сортировкой даёт O((n+m) log(n+m)) вместо линейного - на собеседовании это сразу считают промахом.
Подсказки: 2
- Два указателя, на каждом шаге берём меньший.
- После основного цикла один из массивов не исчерпан - допиши хвост.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.