0%

442. Find All Duplicates in an Array

负号法 O(n) time O(1) space

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
vector<int> findDuplicates(vector<int>& nums) {
vector<int> res;
for (int x : nums) {
int i = abs(x) - 1;
if (nums[i] < 0) {
res.push_back(i + 1);
} else {
nums[i] = -nums[i];
}
}
return res;
}
};