找到所有数组中消失的数字
给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。
const findDisappearedNumbers = (nums = [1,1]) => {
let len = nums.length
let res = []
let map = {}
for(let i = 0; i < len; i++){
const v = nums[i]
map[v] = true
}
for(let i = 1; i < len + 1; i++){
if(!map[i]){
res.push(i)
}
}
return res
};
const findDisappearedNumbers = (nums = [4,3,2,7,8,2,3,1]) => {
const len = nums.length, ans = []
for (let i = 0; i < len; i++) {
let num = Math.abs(nums[i]);
// 注意,如只有是正数的情况我们才转负数
if (nums[num - 1] > 0) {
nums[num - 1] *= -1;
console.log(nums)
}
};
for (let i = 0; i < len; i++) {
// 正数的索引加1,就是我们缺失的数了
if (nums[i] > 0) {
ans.push(i + 1);
};
};
return ans;
};
以自己现在的努力程度,还没有资格和别人拼天赋

浙公网安备 33010602011771号