2024每日刷题(178)
Leetcode—347. 前 K 个高频元素
桶排序实现代码
class Solution {
public:
vector<int> topKFrequent(vector<int>& nums, int k) {
unordered_map<int, int> cnt;
int n = nums.size();
for(int i = 0; i < n; i++) {
cnt[nums[i]]++;
}
vector<vector<int>> buckets(n + 1);
for(auto & [num, freq]: cnt) {
buckets[freq].push_back(num);
}
vector<int> ans;
for(int freq = n; freq > 0; freq--) {
for(auto num: buckets[freq]) {
ans.push_back(num);
}
if(ans.size() == k) {
break;
}
}
return ans;
}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!