【leetcode C++】【剑指 Offer 】03. 数组中重复的数字

剑指 Offer 03. 数组中重复的数字

在这里插入图片描述

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

在这里插入图片描述

class Solution {
    
    
public:
    int findRepeatNumber(vector<int>& nums) {
    
    
        vector<bool> isExist(nums.size(), false);
        for(auto num : nums) {
    
    
            if(isExist[num]) return num;
            isExist[num] = true;
        }
        return -1;
    }
};

在这里插入图片描述

class Solution {
    
    
public:
    int findRepeatNumber(vector<int>& nums) {
    
    
        sort(nums.begin(), nums.end());
        for(int ii = 1; ii <nums.size(); ii++) {
    
    
            if(nums[ii] == nums[ii - 1]) return nums[ii];
        }
        return -1;
    }
};

猜你喜欢

转载自blog.csdn.net/m0_37454852/article/details/114383081