美文网首页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