您的位置:首页 > 职场人生

面试03.数组中重复的数字

2020-06-29 04:56 716 查看

找出数组中重复的数字。

在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。


解题思路:
因为题目要求可以找出数组中任意 一个重复的数字,所以我们只要发现有一个数字出现重复,则我们返回。

  • 使用HashSet 集合 可以判断数组中有无重复的数字

  • HashSet 的 特点 : 单列 ,无序 ,不可重复

    初始化set 集合,向集合中添加元素,若元素在集合中存在,则视为重复元素,返回该元素。

代码实现:

class Solution {
public int findRepeatNumber(int[] nums) {
HashSet<Integer> set = new  HashSet<>();
int repeat = -1; //此处不能设为0
for(int num : nums){
if(!set.add(num)){
repeat = num;
break;
}
}
return repeat;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐