448. Find All Numbers Disappeare

2018-03-26  本文已影响3人  安东可

448. Find All Numbers Disappeared in an Array

[思路]:

    vector<int> findDisappearedNumbers(vector<int>& nums) {
        // 数组中最大的数等于数组大小,那么数组中的数字作为下标,
        //将出现的数字n,对应的数组下标nums[n-1]中的改为负数,
        //那么不存在的数字的下标中存在的数是大于0
        vector<int> res;
        int tmp =0,n=nums.size();
        for(int i=0;i<n;i++){
            int val = abs(nums[i]) -1;
            if(nums[val]>0)
                nums[val] = -nums[val];

        }
       for(int i =0;i<n;i++)
        {
            if(nums[i]>0)
                res.push_back(i+1);
        }
            
        return res;
        
    }
上一篇 下一篇

猜你喜欢

热点阅读