您的位置:首页 > 其它

如何找出数组中重复次数最多的数

2017-07-31 11:13 246 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: