JavaScriptは二つの秩序配列を合併する.
1051 ワード
function merge(nums1, nums2) {
var len1 = nums1.length - 1;
var len2 = nums2.length - 1;
var len = nums1.length + nums2.length - 1;
while (len1 >= 0 && len2 >= 0) {
nums1[len--] = nums1[len1] > nums2[len2] ? nums1[len1--] : nums2[len2--];
}
return nums1;
}
入力[1,2,3][2,4,5,6,7,8,9]
出力
[1,2,2,3,4,5,6,7,8,9]
解析
番号付け
len 1
len 2
len
nums 1[len 1]
nums 2[len 2]
nums
1
2
6
9
3
9
[1,2,3,empty*6,9]
2
2
5
8
3
8
[1,2,3,empy*5,8,9]
3
2
4
7
3
7
[1,2,3,empy*4,7,8,9]
4
2
3
6
3
6
[1,2,3,empy*3,6,7,8,9]
5
2
2
5
3
5
[1,2,3,empy*2,5,6,7,8,9]
6
2
1
4
3
4
[1,2,3,empy*1,4,5,6,7,8,9]
7
1
1
3
3
2
[1,2,3,3,4,5,6,7,8,9]
8
0
1
2
2
2
[1,2,2,3,4,5,6,7,8,9]