码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • leetcode 347.前 K 个高频元素


    给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

    示例 1:

    输入: nums = [1,1,1,2,2,3], k = 2
    输出: [1,2]
    

    示例 2:

    输入: nums = [1], k = 1
    输出: [1]
    1. class Solution {
    2. public:
    3. // 小顶堆
    4. class mycomparison {
    5. public:
    6. bool operator()(const pair<int, int>& lhs, const pair<int, int>& rhs) {
    7. return lhs.second > rhs.second;
    8. }
    9. };
    10. vector<int> topKFrequent(vector<int>& nums, int k) {
    11. // 统计元素出现频率
    12. map<int,int> mp;
    13. for(int i=0;isize();i++) {
    14. mp[nums[i]]++;
    15. }
    16. // 对频率排序,定义一个小顶堆,大小为k
    17. priority_queueint,int>,vectorint, int>>,mycomparison> pri_que;
    18. // 用固定大小为k的小顶堆,扫面所有频率的数值
    19. for(map<int,int>::iterator it=mp.begin();it!=mp.end();it++) {
    20. pri_que.push(*it);
    21. if(pri_que.size() > k) pri_que.pop();
    22. }
    23. // 找出前K个高频元素,因为小顶堆先弹出的是最小的,所以倒序来输出到数组
    24. vector<int> result(k);
    25. for(int i = k-1;i>=0;i--) {
    26. result[i] = pri_que.top().first;
    27. pri_que.pop();
    28. }
    29. return result;
    30. }
    31. };
    32. // 时间复杂度: O(nlogk)
    33. // 空间复杂度: O(n)
    34. // nums = [1,1,1,2,2,3], k = 2
    35. // 1:3
    36. // 2:2
    37. // 3:1
    38. // 1
    39. // 3 2

  • 相关阅读:
    视频监控平台功能:国外的硬盘录像机NVR通过ISUP协议(原ehome协议)接入AS-V1000视频平台
    升学找学校小程序开发制作功能介绍
    Ubuntu 22.04.1 LTS 离线安装Docker
    Ubuntu上安装Docker的步骤和指南
    pdf怎么合并在一起?几种方法快速合并
    y _hat[ [ 0, 1], y ]语法——pytorch张量花式索引
    【编程题】【Scratch四级】2021.09 找出出现次数最多的数字
    es6模块+异步promise+async/await
    极智AI | 讲解 TensoRT Activation 算子
    第2次作业练习题(第三章 指令系统)
  • 原文地址:https://blog.csdn.net/weixin_41987016/article/details/132944366
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号