当前位置: 首页 > article >正文

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

思路

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

代码

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;

    }
};


http://www.kler.cn/a/541735.html

相关文章:

  • 怎麼使用靜態住宅IP進行多社媒帳號管理
  • DeepSeek 助力 Vue 开发:打造丝滑的步骤条
  • Golang Web单体项目目录结构最佳实践
  • Avnet RFSoC基于maltab得5G 毫米波 开发工具箱
  • 畅游Diffusion数字人(16):由音乐驱动跳舞视频生成
  • shell脚本控制——定时运行作业
  • Web3 的虚实融合之路:从虚拟交互到元宇宙构建
  • DeepSeek 助力 Vue 开发:打造丝滑的进度条
  • 【天梯赛】L1-104 九宫格(C++)
  • 10苍穹外卖之Task、WebSocket(音频是前端实现)
  • 【练习】图论
  • 实验8 配置标准访问控制列表IPv4 ACL
  • 易语言文件分析工具
  • 检测网络安全漏洞 工具 网络安全 漏洞扫描 实验
  • 预训练语言模型:从BERT到GPT,NLP的新纪元
  • flask如何进行测试
  • Anaconda Navigator 与 Conda:GUI 和 CLI 的对比与使用
  • 【Python】Anaconda安装
  • 《DeepSeek+Langchain落地实操:RAG知识增强检索和智能体实战开发》
  • redis之事件
  • Qlabel 每五个一换行 并、号分割
  • 超详细的数据结构3(初阶C语言版)栈和队列。
  • ping的网络协议,ping用到的网络协议!
  • Oracle ORA-00054
  • Python自动化办公之Excel拆分
  • Mybatisl面试问答