自己解决了
[C++] 纯文本查看 复制代码 #include <iostream>
#include <vector>
#include <unordered_map>
#include <algorithm>
int findHighestFreqElementIndex(const std::vector<std::string> &elements)
{
std::unordered_map<std::string, int> freq;
for (int i = 0; i < elements.size(); i++)
{
freq[elements[i]]++;
}
int max_freq = 0;
int max_index = -1;
for (int i = 0; i < elements.size(); i++)
{
if (freq[elements[i]] > max_freq || (freq[elements[i]] == max_freq && max_index > i))
{
max_freq = freq[elements[i]];
max_index = i;
}
}
return max_index;
}
int main()
{
std::vector<std::string> elements = {"1.2.3.4", "1.1.1.1", "1.1.1.1", "1.2.3.4", "1.1.1.1", "1.2.3.4", "1.1.1.1","1.2.3.4","8.8.8.8","8.8.8.8","8.8.8.8","8.8.8.8","8.8.8.8","1.2.3.4","6.6.6.6","6.6.6.6","6.6.6.6","6.6.6.6","6.6.6.6","6.6.6.6","6.6.6.6"};
int result = findHighestFreqElementIndex(elements);
std::cout << "Index of highest frequency element is: " << result << std::endl;
std::cout << "Element is: " << elements[result] << std::endl;
return 0;
}
|