题目为:将两个已知的,已经排好序的升序数组arr1和arr2,整合为一个仍未升序的新数组arr3,时间复杂度最小的办法是什么?
例:arr1 = [2,4,7,13], a2 = [1,3,5,6,7,9],
得到:arr3 = [1,2,3,4,5,6,7,7,9,13]
我想到的方法如下:
var a1 = [2,4,7,13], a2 = [1,3,5,6,7,9];
function sortAB(a1, a2) {
var i = 0,
j = 0,
a3 = [];
var length = a1.length + a2.length;
for(let k=0; k<length; k++){
if(a1[i] < a2[j]) {
a3.push(a1[i]);
i++;
} else {
a3.push(a2[j]);
j++;
}
}
return a3;
}
console.log(sortAB(a1, a2));
但得出的结果却是 [1,2,3,4,5,6,7,7,9,undefined]
求问原因何在???如何解决???