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

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

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

选举法,重复次数超过整个数组长度一半的元素,最后的count肯定为1及以上

function MoreThanHalfNum_Solution(numbers)
{
    // write code here
    if( numbers.length === 1) return numbers[0];
    let count = 0;
    let cur = 0;
    for(let i = 0;i<numbers.length;i++){
        if(count == 0 ) cur = numbers[i]; 
        if(numbers[i] == cur){
            count ++;
        }else{
            count--;
        }
    }
    return cur;
}
全部评论

相关推荐

11-28 17:58
门头沟学院 Java
美团 JAVA开发 n×15.5
牛客786276759号:百度现在晋升很难的 而且云这块的业务没美团好 你看百度股价都跌成啥样了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
双非一本失业第二年:《机器视觉垃圾分类》
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务