首页 > 编程语言 > 详细

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

时间:2016-04-11 10:16:37      阅读:146      评论:0      收藏:0      [点我收藏+]

 

class Solution {
public:
    int MoreThanHalfNum_Solution(vector<int> numbers) {
        if(numbers.empty())return 0;
     int time=0,num=0;
      for(int i=0;i<numbers.size();i++)
          {
          if(i==0)
              {
              num=numbers[i];
              time++;
          }
          else 
              {
              if(time==0)
                  num=numbers[i];
              if(num==numbers[i])
                  time++;
              else             
                  time--; 
              
          }
      }
        time=0;
       for(int i=0;i<numbers.size();i++)
           {
           if(num==numbers[i])
             time++;
       }
        if(time*2<=numbers.size())
            return 0;
        else 
            return num;
    }
};

 

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

原文:http://www.cnblogs.com/daocaorenblog/p/5377092.html

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