寻找数组中出现次数超过一半的数字
Posted soyosuyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寻找数组中出现次数超过一半的数字相关的知识,希望对你有一定的参考价值。
/* * 数组中出现次数超过一半的数字.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
以上是关于寻找数组中出现次数超过一半的数字的主要内容,如果未能解决你的问题,请参考以下文章
Java 剑指offer(39) 数组中出现次数超过一半的数字