/**
* @param {number[]} nums1
* @param {number} m
* @param {number[]} nums2
* @param {number} n
* @return {void} Do not return anything, modify nums1 in-place instead.
*/
var merge = function(nums1, m, nums2, n) {
let index = m + n - 1;
m--;
n--;
while (m >= 0 && n >= 0) {
if (nums1[m] >= nums2[n])
nums1[index--] = nums1[m--];
else
nums1[index--] = nums2[n--];
}
while (index >= 0)
nums1[index--] = m >= 0 ? nums1[m--] : nums2[n--];
};
const arr = [1, 3, 4, , , ];
merge(arr, 3, [1, 2, 4], 3);
console.log(arr);
// Output: [1, 1, 2, 3, 4, 4]
Categories