javaScript 17.19. 消失的两个数字
给定一个数组,包含从 1 到 N 所有的整数,但其中缺了两个数字。你能在 O(N) 时间内只用 O(1) 的空间找到它们吗?
以任意顺序返回这两个数字均可。
示例 1:
输入: [1]
输出: [2,3]
示例 2:
输入: [2,3]
输出: [1,4]
/**
* @param {number[]} nums
* @return {number[]}
*/
var missingTwo = function(nums) {
let res = []
nums.sort((a, b) => a - b)
let max = nums[nums.length - 1]
for (let i = 0; i < max; i++) {
let j = i + 1
if (nums[i] != j) {
res.push(j)
nums.splice(i, 0, j)
}
}
if (res.length == 0) return [max + 1, max + 2]
if (res.length == 1) {
res.push(max + 1)
return res
}
return res
};
请用今天的努力,让明天没有遗憾。