Solutions
🟒 Majority Element

Majority Element

Difficulty: EasyTopic: ArrayHash TableDivide and ConquerSortingCountingLeetcode:169.Majority Element

Given an array nums of size n, return the majority element.

The majority element is the element that appears more than ⌊n / 2βŒ‹ times. You may assume that the majority element always exists in the array.

Example 1:

Input: nums = [3,2,3]
Output: 3
 

Example 2:

Input: nums = [2,2,1,1,1,2,2]
Output: 2
 

Constraints:

  • n == nums.length
  • 1 <= n <= 5 * 104
  • -109 <= nums[i] <= 109

Follow-up: Could you solve the problem in linear time and in O(1) space?

Solution

write solution in here

/**
 * @param {number[]} nums
 * @return {number}
 */
var majorityElement = function (nums) {
  let cache = new Map(), res = 0, maxLen = 0
  for (let i = 0; i < nums.length; i++) {
    cache.set(nums[i], cache.has(nums[i]) ? cache.get(nums[i]) + 1 : 1)
  }
  cache.forEach((v, k) => {
    if (v > maxLen) {
      res = k
      maxLen = v
    }
  })
  return res
};

Similar Questions