力扣-栈与队列-347 前k个高频元素

思路

利用优先队列进行排序,然后利用multiset对count进行排序,最后收集k个高频元素就行

代码

cpp 复制代码
class Solution {
public:

    vector<int> topKFrequent(vector<int>& nums, int k) {
        priority_queue<int> pq;
        for(int i = 0; i < nums.size(); i++){
            pq.push(nums[i]);
        }
        multimap<int, int > myMap;
        while(!pq.empty()){
            int count = 0;
            int value = pq.top();
            while(!pq.empty() && pq.top() == value){
                pq.pop();
                count++;
            }
            pair<int, int> p = {count, value};
            myMap.insert(p);
        }
        vector<int> res;
        for(auto it = myMap.rbegin(); k-- ; it++){
            res.push_back(it->second);
        }
        
        return res;

    }
};
相关推荐
小O的算法实验室11 小时前
IEEE TASE,基于MPC的多无人机协同搜索竞争群体优化方法
算法
小飞学编程...12 小时前
【哈希表】
数据结构·哈希算法·散列表
Tbisnic12 小时前
BGE-M3 算法详解:从模型架构到三种检索方式的数学原理
算法·自然语言处理·大模型·bert·transformer·注意力机制
Brilliantwxx13 小时前
【算法从零到千】【55-58】哈希位图+常见数学运算 接口
算法
空堂与归13 小时前
用户分群找不到规律?用K-Means聚类算法自动发现数据模式
算法·机器学习·kmeans·聚类
动词ing14 小时前
【C语言】自定义函数+指针入门
c语言·开发语言·算法
重生之后端学习14 小时前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
一只小小的芙厨15 小时前
基础数论总结
笔记·学习·算法
动词ing15 小时前
【C语言】结构体+文件基础
c语言·开发语言·数据结构
夜不会漫长16 小时前
C++入门(1)
开发语言·c++·算法