eg
数组{1,1,2,2,3,4,4,4,4,5,5,5,6,6}
元素1出现的次数为2, 元素2出现的次数为2,元素3出现的次数为1,元素4出现的次数为4,元素5出现的次数为3,元素6出现的次数为2
所以输出应该为元素4.
代码
int GetMaxNum(int *arr,int len,int& num)
{
int index = arr[0];
int i;
for(i = 0;i<len;i++){
if(arr[i]>index)
{
index = arr[i];
num = i;
}
}
return index;
}
方法二使用map映射表
bool findMostFrequentInArray(int *a,int size,int &val){
if(size == 0)
{
return false;
}
map<int,int> m;
for(int i = 0;i<size;i++){
if(++m[a[i]]>=m[val])
{
val = a[i];
}
return true;
}
1554





