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

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

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

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务