Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.

    You may assume that the array is non-empty and the majority element always exist in the array.

    Example 1:

    1. Input: [3,2,3]
    2. Output: 3

    Example 2:

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

    Runtime: 64 ms, faster than 80.53% of JavaScript online submissions for Majority Element.

    /**
     * @param {number[]} nums
     * @return {number}
     */
    var majorityElement = function(nums) {
        if (nums.length === 1) {
            return nums[0];
        }
        const hash = {};
        const half = nums.length / 2;
        let item;
        for (let i = 0; i < nums.length; i++) {
            item = nums[i];
            if (!hash[item]) {
                hash[item] = 1;
            } else {
                hash[item]++;
                if (hash[item] >= half) {
                    return item;
                }
            }
        }
    };