[LeetCode]442. Find All Duplicates in an Array

    xiaoxiao2021-03-25  110

    [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; } };
    转载请注明原文地址: https://ju.6miu.com/read-25410.html

    最新回复(0)