题解 | #数组中出现次数超过一半的数字#(应该采用消除众数的方法)

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

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

public:
    int MoreThanHalfNum_Solution(vector<int> numbers) {
        unordered_map<int,int> m1;
        int a;
        if(numbers.size() / 2 == 1){
            a = numbers.size() / 2 + 1;
        }else{
             a = numbers.size() / 2;
        }
        for(int i = 0; i < numbers.size(); i++){
            m1[numbers[i]]++;
            if(m1[numbers[i]]  >  a){
                return numbers[i];
            }
        }
        return 0;
    }
};
全部评论

相关推荐

12-20 11:26
复旦大学 Java
点赞 评论 收藏
分享
11-03 13:18
门头沟学院 Java
包行:平时怎么刷算法题的哇,字节的手撕听说都很难
字节跳动工作体验
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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