题解 | #数组中出现次数超过一半的数字#

数组中出现次数超过一半的数字

https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param numbers int整型一维数组 
 * @return int整型
 */
function MoreThanHalfNum_Solution( numbers ) {
    // write code here
    const map = new Map();
    if(numbers.length==0) return -1;
    if(numbers.length===1) return numbers[0];
    for(let index= 0;index<numbers.length;index++){
        const v = numbers[index];
        if(map.has(v)){
            const count = map.get(v);
            map.set(v,count+1);
            if(count+1>numbers.length/2) return v;
        }else{
            map.set(v,1);
        }
    }
    
}
module.exports = {
    MoreThanHalfNum_Solution : MoreThanHalfNum_Solution
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务