美文网首页LeetCode蹂躏集
LeetCode 448. Find All Numbers D

LeetCode 448. Find All Numbers D

作者: alexsssu | 来源:发表于2018-01-22 19:21 被阅读0次

    将数组内的数与数组下标建立联系,若某数在数组中出现过,则将下标为该数减1的数变为负数,最后统计该数组正数所对应的下标值。

    class Solution {
    public:
        vector<int> findDisappearedNumbers(vector<int>& nums) {
            vector<int> disapperNums;
        int m;
        for (int i = 0; i < nums.size(); ++i) {
            m = abs(nums[i]) - 1;
            nums[m] = nums[m] > 0 ? -nums[m] : nums[m];
        }
        for (int i = 0; i < nums.size(); ++i ) {
            if (nums[i] > 0) {
                disapperNums.push_back(i + 1);
            }
        }
        return disapperNums;
        }
    };
    

    相关文章

      网友评论

        本文标题:LeetCode 448. Find All Numbers D

        本文链接:https://www.haomeiwen.com/subject/tpdraxtx.html