示例代码

class Solution {
public:
    int findDuplicate(vector<int>& nums) {
        int sum=0,len=nums.size();
        for(int i=0;i<len;i++){
            int x=abs(nums[i]);
            if(nums[x-1]>0){
                nums[x-1]=-nums[x-1];
            }else{
                return abs(x);
            }
        }
        return -1;
    }
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

效果展示

LeetCode---287. 寻找重复数(用负号对数组进行标记)_leetcode