-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path88.js
30 lines (29 loc) · 783 Bytes
/
88.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const merge = (nums1, m, nums2, n) => {
if (m === 0) return nums2
if (n === 0) return nums1
// nums1 = nums1.slice(0, m)
let position = 0
while (nums2.length > 0) {
if (m == position && nums2.length > 0) {
nums2.forEach((num) => {
nums1[position] = num
position++
});
while (nums1.length > position) {
nums1.pop()
}
// nums1 = nums1.concat(nums2)
break
}
if (nums1[position] >= nums2[0]) {
nums1.splice(position, 0, nums2.shift())
nums1.pop()
position++
m++
}
position++
}
// console.log(nums1)
}
let nums1 = [1,2,3,0,0,0]; const m = 3; const nums2 = [2,5,6]; const n = 3;
merge(nums1, m, nums2, n)