javascript
/**
* @param {number[]} nums
* @return {number}
*/
var majorityElement = function (nums) {
if (nums.length === 1) {
return nums[0]
}
let max = 0,
result = '',
map = new Map(),
i = 0
while (max <= Math.floor(nums.length / 2)) {
if (map.has(nums[i])) {
const count = map.get(nums[i]) + 1
if (max < count) {
max = count
result = nums[i]
}
map.set(nums[i], count)
} else {
map.set(nums[i], 1)
}
i++
}
return result
}