1. 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 n/2 的元素。
  2. 你可以假设数组是非空的,并且给定的数组总是存在多数元素。
  1. 示例 1
  2. 输入:[3,2,3]
  3. 输出:3
  4. 示例 2
  5. 输入:[2,2,1,1,1,2,2]
  6. 输出:2

方法一:

  1. /**
  2. * @param {number[]} nums
  3. * @return {number}
  4. */
  5. var majorityElement = function(nums) {
  6. let map = new Map()
  7. for(let i=0;i<nums.length;i++){
  8. if(!map.has(nums[i])){
  9. map.set(nums[i],1)
  10. }else{
  11. map.set(nums[i],map.get(nums[i])+1)
  12. }
  13. }
  14. for(let [key,value] of map.entries()){
  15. if(value>nums.length/2){
  16. return key
  17. }
  18. }
  19. };

方法二:

  1. var majorityElement = function(nums){
  2. nums.sort()
  3. return nums[parseInt(nums.length/2)]
  4. }