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

题目链接:https://leetcode.cn/problems/find-all-numbers-disappeared-in-an-array/description/

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public List<Integer> findDisappearedNumbers(int[] nums) {
int n = nums.length;
List<Integer> res = new ArrayList<>();
for (int num : nums) {
int index = (num - 1) % n; // 将出现的数字当做下标,并赋值
nums[index] += n;
}
for (int i = 0; i < n; i++) {
if (nums[i] <= n) { // 因为加上了数组长度n,未出现的数则小于等于n
res.add(i+1);
}
}
return res;
}

}

TypeScript

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function findDisappearedNumbers(nums: number[]): number[] {
let n = nums.length;
nums.forEach(num => {
let x = (num - 1) % n;
nums[x] += n;
})
let res: number[] = [];
for (let i = 0; i < n; i++) {
if (nums[i] <= n) {
res.push(i + 1);
}
}
return res;
};

448. 找到所有数组中消失的数字
https://pisces34.github.io/2024/02/29/leetcode/448/
发布于
2024年2月29日
许可协议