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

    }
};
相关推荐
纪伊路上盛名在7 分钟前
scRNA-seq scanpy教程1:准备工作+AnnData数据结构理解
数据结构·python·可视化·生物学·单细胞·scanpy
不学会Ⅳ7 分钟前
Redis7.0八种数据结构底层原理
数据结构
大G哥18 分钟前
Java中有100万个对象,用list map泛型存储和用list对象泛型存储,那个占用空间大,为什么...
java·开发语言·数据结构·windows·list
曙曙学编程19 分钟前
进阶数据结构——单调队列
数据结构
liruiqiang0543 分钟前
机器学习 - 理解偏差-方差分解
人工智能·算法·机器学习
轩源源1 小时前
数据结构——红黑树的实现
开发语言·数据结构·c++·算法·红黑树·单旋+变色·双旋+变色
自动驾驶小卡2 小时前
线性回归计算斜率原理及C++实现
c++·算法·回归·线性回归
拉一次撑死狗2 小时前
LeetCode数学相关算法题(1)【C语言版】
c语言·算法·leetcode·职场和发展
DexterYttt2 小时前
P5788 【模板】单调栈
数据结构·c++·算法·蓝桥杯
_周游3 小时前
【数据结构】_堆排序问题
数据结构·算法