劍指Offer刷題日常

劍指 Offer 03. 數組中重複的數字

  • p40

class Solution {
public:
    int findRepeatNumber(vector<int>& nums) {
        int length = nums.size();
        if (length <= 0)
        {
            return false;
        }
        for (int i = 0; i < length; ++i)
        {
            if (nums[i] < 0 || nums[i] > length - 1)
            {
                return false;
            }
        }
        for (int i = 0; i < length; ++i)
        {
            while (nums[i] != i)
            {
                if (nums[i] == nums[nums[i]])
                {
                    return nums[i];
                }
                int t = nums[i];
                nums[i] = nums[t];
                nums[t] = t;
            }
        }
        return false;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章