题目描述
即找出数组中出现次数最多的值,若有多个出现次数相同的元素,一并输出。
代码
#include <iostream>
#include <unordered_map>
#include <algorithm>
using namespace std;
class Solution {
public:
vector<int> findLargestDuplicate(vector<int>& nums) {
unordered_map<int,int> dic;
int maxCount = 1;
for (int i = 0; i < nums.size(); i++) {
dic[nums[i]]++;
}
for (auto& x : dic) {
maxCount = max(maxCount, x.second);
}
vector<int> ans;
for (const auto& x : dic) {
if (x.second == maxCount) {
ans.push_back(x.first);
}
}
return ans;
}
};
int main() {
int num;
vector<int> nums;
while(cin >> num) {
nums.push_back(num);
}
Solution a;
vector<int> ans;
ans = a.findLargestDuplicate(nums);
for (auto x : ans) {
cout << x << " ";
}
}