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

92 阅读1分钟

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

遍历一次数组,新建一个对象记录,数组的特征,同一个值,放入同一个key中,value记录出现的次数,一次类推,如果在循环中找到了满足条件的那个元素,则直接返回即可

var majorityElement = function(nums) {
    var obj = {}
    for(var i = 0;i<nums.length;i++){
        var key = String(nums[i])
        if(obj[key]){
            obj[key]++
        }else{
            obj[key] = 1
        }
        if(obj[key] > nums.length / 2){
            return key
        }
    }

};