Majority Element
Difficulty: EasyTopic: ArrayHash TableDivide and ConquerSortingCountingLeetcode:169.Majority ElementGiven 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.length1 <= 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
};