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

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

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

public class Solution {
    public int MoreThanHalfNum_Solution(int [] array) {
        //用两个值记录当前值和次数
        int reult = array[0],times = 1;
        for(int i = 1;i<array.length;i++){
            //出现次数为零,更新结果
            if(times == 0){
                reult = array[i];
                times++;
            }else{
                //结果和当前值相同,次数加加
                if(reult == array[i]){
                    times++;
                //结果和当前值不相同,次数减减
                }else{
                    times--;
                }
            }
        }
        return reult;
    }
}
全部评论

相关推荐

Gaynes:查看图片
点赞 评论 收藏
分享
点赞 评论 收藏
分享
07-23 14:04
东北大学 C++
既然这样,为什么不点击就送呢
牛马88号:因为你合适。但有很多笔试就挂了、通过了再排序的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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