码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-04-20 22:00:56      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:enum   cout   end   ace   time   for   数组   more   ret   

/*
 * 数组中出现次数超过一半的数字.cpp
 *
 *  Created on: 2018年4月20日
 *      Author: soyo
 */
#include<iostream>
using namespace std;
int MoreNum(int *p,int length)
{
    if(p==NULL)
        return NULL;
    int result=p[0];
    int time=1;
    for(int i=1;i<length;i++)
    {
        if(time==0)
        {
            result=p[i];
            time=1;
        }
        else if(p[i]==result)
             time++;
        else
            time--;
    }
    return result;
}

int main()
{
    int a[]={1,5,3,5,8,5,5,5,7,5,8};
    int num;
    num=MoreNum(a,9);
    cout<<"数组中出现次数超过一半的数字为:"<<num<<endl;
    int b[]={8,7,3,54};
    int *p;
    p=b;
    cout<<p[3]<<endl;

}

结果:

数组中出现次数超过一半的数字为:5
54

 

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

标签:enum   cout   end   ace   time   for   数组   more   ret   

原文地址:https://www.cnblogs.com/soyo/p/8893557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!