首页 > 编程语言 > 详细

剑指offer 数组中出现超过一半的数字

时间:2018-08-30 15:17:03      阅读:113      评论:0      收藏:0      [点我收藏+]
class Solution {
public:
    int MoreThanHalfNum_Solution(vector<int> numbers) {
        if(numbers.empty()){
            return 0;
        }
        if(numbers.size() == 1){
            return numbers[0];
        }
        int len = (int)numbers.size();
        float target = len/2.0;
        map<int, int> m;
        for(int num: numbers){
            if(m.count(num) != 0){
                m[num]++;
                if(m[num] > target) return num;
            }
            else{
                m.insert(pair<int, int>(num, 1));
            }
        }
        return 0;
    }
};

剑指offer 数组中出现超过一半的数字

原文:https://www.cnblogs.com/theodoric008/p/9560275.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!