LeetCode蹂躏集

LeetCode 448. Find All Numbers D

2018-01-22  本文已影响0人  alexsssu

将数组内的数与数组下标建立联系,若某数在数组中出现过,则将下标为该数减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;
    }
};
上一篇 下一篇

猜你喜欢

热点阅读