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

全部评论

相关推荐

Twilight_m...:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务