让我们说我们有一个向量: [6,9,17,21,2,4,6,3,6,9,3,12,3]
我如何找到此向量中最常见的元素?
在这种情况下,答案是6和3,它们重复了3次。
此代码找到重复次数最多的第一个。我也需要其他
int max = 0, mostvalue = allDocumentNumbers[0];
for (int i = 0;i < allDocumentNumbers.size();i++)
{
int co = (int)count(allDocumentNumbers.begin(), allDocumentNumbers.end(), allDocumentNumbers[i]);
if (co > max)
{
max = co;
mostvalue = allDocumentNumbers[i];
cout << "Most value: " + to_string(mostvalue) << endl;
}
}
答案 0 :(得分:0)
您可以使用地图:
std::map<int, int> counters;
for(auto i: v)
{
++counters[i];
}
然后只需在该图中获得最大值即可。