[LeetCode]442. Find All Duplicates in an Array

来源:互联网 发布:2016年云计算政策 编辑:程序博客网 时间:2024/06/06 18:44

[LeetCode]442. Find All Duplicates in an Array

题目描述

这里写图片描述

思路

出现数字的范围和数组长度一致,并且只重复出现两次,可以用位置标记,当这个位置被访问一次的时候,将位子上的数字置负,再次访问的时候,就将该表示该位置的数存入结果数组。

代码

class Solution {public:    vector<int> findDuplicates(vector<int>& nums) {        vector<int> res;        for (int i = 0; i < nums.size(); ++i){            int flag = abs(nums[i]) - 1;            if (nums[flag] > 0){                nums[flag] = -nums[flag];            }            else {                res.push_back(flag + 1);            }        }        return res;    }};
0 0
原创粉丝点击