1. 程式人生 > >尋找數組中出現次數超過一半的數字

尋找數組中出現次數超過一半的數字

num std auth ted i++ mes 次數 style reat

/*
 * 數組中出現次數超過一半的數字.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

尋找數組中出現次數超過一半的數字