题目:给定一个大小为 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 };
原文:https://www.cnblogs.com/icyyyy/p/14787424.html