645. Set Mismatch

class Solution {
public:
    vector<int> findErrorNums(vector<int>& nums) {
        for (int i = 0; i < nums.size(); i++)
            while (nums[i] != i+1 && nums[i] != nums[nums[i]-1])
                swap(nums[i], nums[nums[i]-1]);
        
        int res = 0;
        for (; nums[res] == res+1; res++);
        return vector<int>({nums[res], res+1});
    }
};

 

posted @ 2018-11-30 15:16  JTechRoad  阅读(94)  评论(0编辑  收藏  举报