数据结构与算法每日一题——哈希表(剑指 Offer 39. 数组中出现次数超过一半的数字)

37 阅读1分钟

剑指 Offer 39. 数组中出现次数超过一半的数字

/**
 * @param {number[]} nums
 * @return {number}
 */
var majorityElement = function(nums) {
    // 方法一:
    let obj = {};
    for(let i in nums){
        if(obj[nums[i]] && obj[nums[i]]>=1) obj[nums[i]]++
        else obj[nums[i]] = 1
    }
    for(let key in obj){
        if(obj[key]>= nums.length/2) return key
    }
    
    // 方法二:
    // nums.sort();
    // return nums[Math.floor(nums.length / 2)];

};