Задать вопрос
slower
@slower

Как объединить отсортированные массивы так, чтобы элементы итогового массива остались отсортированными?

Мне даны два отсортированных целочисленных массива nums1 и nums2, нужно поместить все элементы nums2 в nums1 так чтобы элементы итогового массива остались отсортированными.

Формат ввода
[46,55,88,0,0,0,0] 3 [18,29,80,90] 4
  • Количество элементов в массивах nums1 и nums2 равны m и n соответсвенно;
  • Можно считать, что в массиве nums1 зарезервировано место для всех элементов (n + m) и заполнены нулями;

/**  
 * @param {number[]} nums1 - первый отсортированный массив  
 * @param {number} m - количество значимых элементов в nums1  
 * @param {number[]} nums2 - второй отсортированный массив  
 * @param {number} n - количество элементов в nums2  
 * @return {void} Не возвращайте ничего, вместо этого модифицируйте nums1.  
 */  
module.exports = function merge(nums1, m, nums2, n) {  
   // код
}
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
function merge(nums1, m, nums2, n) {
  for (let i = m + n, i1 = m - 1, i2 = n - 1; i--;) {
    nums1[i] = i2 < 0 || nums1[i1] > nums2[i2] ? nums1[i1--] : nums2[i2--];
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы