【发布时间】:2023-03-19 16:20:02
【问题描述】:
我在一次采访中被问到,我的回答与此类似,由于最终循环,这是错误的。
const newSortArrays = (arr1, arr2) => {
let output = [];
while (arr1.length && arr2.length) {
if (arr1[0] < arr2[0])
output.push(arr1[0] < arr2[0] ? arr1.shift() : arr2.shift())
}
return [...output, ...arr1, ...arr2]
}
【问题讨论】:
-
你应该只是
return output; -
循环结束后,
arr1和arr2为空,无需合并到结果中。 -
如果数组长度不等于@Barmar.
-
但是 if 是多余的/错误的。删除它,它似乎是正确的?(未经测试)。
-
@YvesDaoust 因为它试图访问一个空数组的元素。
标签: javascript algorithm big-o