多数元素

题目:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题

思路:

代码:

 1 /**
 2  * @param {number[]} nums
 3  * @return {number}
 4  */
 5 var majorityElement = function(nums) {
 6  var obj = {}
 7   for(var i=0;i<nums.length;i++){
 8     if(obj[nums[i]]){
 9       obj[nums[i]]++
10     }else{
11       obj[nums[i]]=1
12     }
13   }
14   var arr = []
15   for(var i in obj){
16     arr.push({key:i,count:obj[i]})
17   }
18   arr = arr.sort((a,b)=>b.count-a.count)
19   return arr[0].key
20 };

 

posted @ 2021-05-19 21:22  icyyyy  阅读(28)  评论(0)    收藏  举报