(java版剑指offer)JZ3 数组中重复的数字(方法二:HashSet性质)

数组中重复的数字

https://www.nowcoder.com/practice/6fe361ede7e54db1b84adc81d09d8524?tpId=265&tags=&title=&difficulty=0&judgeStatus=0&rp=1

alt

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param numbers int整型一维数组 
     * @return int整型
     */
   //利用HashSet()性质来解题
    public int duplicate (int[] numbers) {        
        HashSet s = new HashSet();    //实例化一个HashSet对象
        for(int i = 0;i < numbers.length;i++){    //遍历numbers数组中元素
            if(numbers[i] < 0 || numbers[i] > numbers.length-1){    //不在数组下标的范围内,则返回-1
                return -1;
            }
            //如果加入HashSet中的元素已经存在,则s.add(numbers[i])返回值为-1,那么就识别出重复元素
            if(!s.add(numbers[i])){       
                return numbers[i];                               
            }          
        }
        return -1;
    }
}

全部评论

相关推荐

10-05 11:11
海南大学 Java
投票
理想江南137:感觉挺真诚的 感觉可以试一试
点赞 评论 收藏
分享
10-10 17:54
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务