码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 287. Find the Duplicate Number

时间:2018-07-29 22:25:56      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:array   code   col   public   else   span   ica   The   solution   

解法一:

类似 LeetCode 442. Find All Duplicates in an Array,由于元素是1~n,因此每个元素的值-1(映射到0~n-1)就可以直接当做下标。

class Solution {
public:
    int findDuplicate(vector<int>& nums) {
        for (int i=0;i<nums.size();++i){
            int index=abs(nums[i])-1;
            if (nums[index]>0) nums[index]*=-1;
            else return index+1;
        }
    }
};

 

解法二:

 

LeetCode 287. Find the Duplicate Number

标签:array   code   col   public   else   span   ica   The   solution   

原文地址:https://www.cnblogs.com/hankunyan/p/9387737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!