# 重复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];
        }
    }

};
Last Updated: 8/9/2021, 5:12:45 PM