力扣-栈与队列-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;

    }
};
相关推荐
过期动态11 小时前
【LeetCode 热题 100】接雨水
java·数据结构·算法·leetcode·职场和发展
春日见11 小时前
5分钟入门强化学习之动态规划算法与实现
大数据·人工智能·python·算法·机器学习·计算机视觉
scx_link11 小时前
线性回归的总结:
算法·机器学习·线性回归
郝亚军11 小时前
IEEE 754 单精度浮点的SEM表示
开发语言·c++·算法
青山师11 小时前
动态规划算法深度解析:从状态转移方程到工业级优化
数据结构·算法·面试·动态规划·代理模式·java面试
黎阳之光11 小时前
数智透明·安全兜底|黎阳之光透明矿山,AI+数字孪生守护矿山生命线
人工智能·物联网·算法·安全·数字孪生
吴可可12312 小时前
控制弦高精度的样条离散化方法
算法
wuweijianlove12 小时前
算法设计中的空间复用与数据对齐优化的技术5
算法
yuan1999713 小时前
基于 MATLAB PSO 工具箱的函数寻优算法
开发语言·算法·matlab
YUANQIANG202413 小时前
博弈论中势函数与势博弈构造:为什么看似 “先射箭后画靶”
算法·信息与通信