找出数组中任意一个重复元素
一、题目
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
输入:[2,3,1,0,2,5,3]
输出:2或者3任意一个都可以
二、思路
遍历数组利用map.has()函数判断元素是否在map中存在
1.如果存在,返回其值
2.如果不存在,利用map.set()函数将元素及其索引添加到map中
三、程序实现
var findRepeatNumber = function(nums) {
let map=new Map();
for(let i=0;i<nums.length;i++){
if(map.has(nums[i])){
return nums[i]
}else{
map.set(nums[i],i)
}
}
};

浙公网安备 33010602011771号