1.题目描述
2.题解思路
由于题目只需要找到任意一个重复的数字,因此可以遍历数组,同时将遇到的每一个数组加到集合中,如果出现添加失败的情况,就代表该数字已经添加过一遍了。
算法:
- 初始化一个空集合
- 遍历数组,并添加数字进行集合
- 如果添加失败,就说明元素已经在集合中,直接返回即可
3.代码
class Solution {
public int findRepeatNumber(int[] nums) {
Set<Integer> set = new HashSet<Integer>();
int repeat = -1;
for(int num : nums){
if(!set.add(num)){
//添加失败,返回值并退出循环
repeat = num;
break;
}
}
return repeat;
}
}
4.结果