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

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

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

相关推荐

不愿透露姓名的神秘牛友
07-07 11:30
仁者伍敌:kpi都懒得刷了属于是
点赞 评论 收藏
分享
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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