442. 数组中重复的数据

题目

442. 数组中重复的数据 官方题解

 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 i = 0; i < nums.size(); i++) {
            int index = abs(nums[i]) - 1;
            if (nums[index] < 0) {
                res.push_back(abs(nums[i]));
            } else {
                nums[index] = -nums[index];
            }
        }
        return res;
    }
};