/* 使用Map映射表 */
bool findMostFrequentInArray(int *a, int size, int &val)
{
assert(a);
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;
}
本文介绍了一种利用Map数据结构在数组中查找出现次数最多的元素的方法,通过增加Map中元素的计数来实现,确保算法效率。
/* 使用Map映射表 */
bool findMostFrequentInArray(int *a, int size, int &val)
{
assert(a);
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;
}

被折叠的 条评论
为什么被折叠?