剑指 Offer 03. 数组中重复的数字----hashset / swap

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

class Solution {
    public int findRepeatNumber(int[] nums) {
        HashSet<Integer> set=new HashSet<>();
        int len=nums.length;
        for(int i=0;i<len;i++){
            if(!set.add(nums[i]))   return nums[i];
        }
        return -1;
    }
}
class Solution {
    public int findRepeatNumber(int[] nums) {

        int len=nums.length;
        for(int i=0;i<len;i++){
            if(i==nums[i])  continue;
            if(nums[i]==nums[nums[i]])  return nums[i];
            int temp = nums[nums[i]];
            nums[nums[i]] = nums[i];
            nums[i] = temp;
            i--;
        }
        return -1;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41041762/article/details/108097933
今日推荐