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

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

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;
}
全部评论

相关推荐

06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:23
转人工😡
门口唉提是地铁杀:五次握手了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务