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

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

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