
class Solution {
public:
vector<int> topKFrequent(vector<int>& nums, int k) {
unordered_map<int,int>F;
vector<int>ans;
vector<int>res(nums.size(),0);
for(auto p:nums)
F[p]++;
for(auto p:F)res.push_back(p.second);
sort(res.begin(),res.end(),[](int &a,int &b){return a>b;});
int n=res[k-1];
for(auto p:F)
if(p.second>=n)
ans.push_back(p.first);
return ans;
}
};
本文介绍了一种使用C++实现的Top K频繁元素算法。通过建立哈希表统计元素频率,再进行排序筛选出出现频率最高的K个元素。此算法适用于大数据集中的热点元素分析。
655

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



