448.找到所有数组中消失的数字

找到所有数组中消失的数字

给你一个含 n 个整数的数组 nums,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字。

解析

原地标记法。

1
2
3
4
5
6
7
8
9
10
11
var findDisappearedNumbers = function (nums) {
for (const num of nums) {
const idx = Math.abs(num) - 1;
if (nums[idx] > 0) nums[idx] = -nums[idx];
}
const result = [];
for (let i = 0; i < nums.length; i++) {
if (nums[i] > 0) result.push(i + 1);
}
return result;
};

448.找到所有数组中消失的数字
https://leetcode.lz5z.com/448.find-all-numbers-disappeared-in-an-array/
作者
tickli
发布于
2024年10月7日
许可协议