请找出数组中任意一个重复的数字
方法——哈希表(set)
使用哈希表记录各个数字,当查找到重复的数字直接返回;
算法:
1、初始化:新建HashSet 计为dic
2、遍历数组nums中的每个数字num
- 当num在dic中,说明重复,直接返回num;
- 将num添加到dic中;
3、返回-1,一定会有重复的数字,返回多少都可以
时间复杂度:O(N)
空间复杂度:O(N)
class Solution {
public int findRepeatNumber(int[] nums) {
Set<Integer> dic = new HashSet<>();
for(int num : nums){
if(dic.contains(num)) return num;
dic.add(num);
}
return -1;
}
}