首页 > 其他分享 >LeetCode 347 Top K Frequent Elements

LeetCode 347 Top K Frequent Elements

时间:2022-08-17 17:22:30浏览次数:45  
标签:vector Elements int Top ele 347

Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order.

Solution

此题要求时间复杂度低于 \(O(n\log n)\). 所以不能使用 \(sort\).

先用 \(map\) 来存储每个数字出现的次数,然后将其 \(push\) 到优先队列里 \(priority\_queue\),最后 \(pop\) 出前 \(k\) 个即可

点击查看代码
class Solution {
private:
    unordered_map<int,int> mp;
    vector<int> ans;
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        for(int i=0;i<nums.size();i++){
            mp[nums[i]]++;
        }
        priority_queue<pair<int,int>> q;
        for(auto ele:mp){
            q.push({ele.second, ele.first});
        }
        for(int i=0;i<k;i++){
            auto f = q.top();q.pop();
            ans.push_back(f.second);
        }
        return ans;
    }
};

标签:vector,Elements,int,Top,ele,347
From: https://www.cnblogs.com/xinyu04/p/16595962.html

相关文章

  • Redis Desktop Manager for Mac(Redis可视化工具) v2021.10.236中文版
    mac软件下载:https://mac.macsc.com/mac/2697.html?id=MzI1OTY2 RedisDesktopManagermac版是一个快速、简单、支持跨平台的RedisDB管理工具,专为Mac用户设计,基于Qt5......
  • top命令常用方法
    https://feichen.blog.csdn.net/article/details/104562895?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommend......
  • 创新能力加速产业发展,SphereEx 荣获“中关村银行杯”『大数据与云计算』领域 TOP1
    8月9日下午,2022中关村国际前沿科技创新大赛“中关村银行杯”大数据与云计算领域决赛在北京市门头沟区中关村(京西)人工智能科技园·智能文创园落下了帷幕。SphereEx凭借......
  • Docker卡在Docker Desktop stopped
    1、检查虚拟机-设置-处理器-虚拟化引擎  勾选前两项2、再次启动Docker以后,如果卡在starting界面点击TroubleShoot  分别尝试这两个选项,点完后,发现出现了新的状......
  • Docker-Desktop在Ubuntu系统中的安装问题
    Docker-Desktop在Linux系统中的安装包为DEB包.deb安装包正常情况下无法直接通过UbuntuSoftware进行安装,需要安装相应的插件/支持。当然也可以通过命令行进行安装,如:su......
  • Elements
    Elementspackageorg.jsoup.select;importorg.jsoup.helper.Validate;importorg.jsoup.nodes.Element;importorg.jsoup.nodes.FormElement;importorg.jsoup.nod......
  • linux如何用top查看cpu占用率大于1的?
    top-b-n1|awk'NR<=10{print}'|awk'NR>=8{print}'|awk'$9>=1{print"cpu""\t"$9"\t""mem""\t"$10"\t"$12}'命令解释top 实时显示进程的信息......
  • [ Skill ] 如何获取库中的 top cell
    https://www.cnblogs.com/yeungchie/topcell的一个特点就是没有被其他的单元所调用,下面举例获取某个库中的topcell。1.获取库中所有单元的cvId结果赋值给cvlist......