算法-二分查找-寻找重复的数

在这里插入图片描述

方法一 哈希法

class Solution {
    
    
    public int findDuplicate(int[] nums) {
    
    
        HashMap<Integer, Integer> map = new HashMap<>();

        for(int num : nums) {
    
    
            if(!map.containsKey(num)) {
    
    
                map.put(num, 1);
            }else{
    
    
                map.put(num, map.get(num) + 1);
            }
        }

        for(int i = 0; i < nums.length; i++) {
    
    
            if(map.get(nums[i]) != 1) {
    
    
                return nums[i];
            }
        }

        return -1;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_45100361/article/details/112635248
今日推荐