(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;
    }
}

全部评论

相关推荐

11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务