# 重复N次的元素
在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次。
返回重复了 N 次的那个元素。
示例 1:
输入:[1,2,3,3]
输出:3
示例 2:
输入:[2,1,2,5,3,2]
输出:2
示例 3:
输入:[5,1,5,2,5,3,5,4]
输出:5
# 解(1)
var repeatedNTimes = function(nums) {
let map=new Map()
nums.forEach((item,i)=>{
if(!map.get(item)){
map.set(item,1)
}else{
map.set(item,map.get(item)+1)
}
})
let result
for (let [key,value] of map) {
if(value==nums.length/2){
result=key
}
}
return result
};
# 解(2)
var repeatedNTimes = function(A) {
//遍历元素,如果出现次数超过两次就返回,因为2N中有N+1个元素,有一个元素存在N个,那么其他的元素都是不同的
for(var i = 0; i < A.length; i ++){
if(A.indexOf(A[i] , i + 1) > -1){
return A[i];
}
}
};