(java版剑指offer)JZ3 数组中重复的数字(方法二:HashSet性质)
数组中重复的数字
https://www.nowcoder.com/practice/6fe361ede7e54db1b84adc81d09d8524?tpId=265&tags=&title=&difficulty=0&judgeStatus=0&rp=1
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;
}
}