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

LeetCode[347]前K个高频元素

思路:

使用小顶堆,最小的元素都出去了,省的就是大,高频的元素了,所以要维护一个小顶堆,使用map存元素高频变化,map存堆里,然后输出堆的东西就行了

代码:

class Solution {public int[] topKFrequent(int[] nums, int k) {Map<Integer, Integer> map = new HashMap<>();for (int i = 0; i < nums.length; i++) {map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);}PriorityQueue<Map.Entry<Integer, Integer>> p = new PriorityQueue<>(new Comparator<Map.Entry<Integer, Integer>>() {@Overridepublic int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2) {return o1.getValue() - o2.getValue();}});for (Map.Entry<Integer, Integer> entry : map.entrySet()) {p.offer(entry);if (p.size() > k)p.poll();}int[] res = new int[p.size()];int i = 0;while (!p.isEmpty()) {res[i++] = p.poll().getKey();}return res;}
}

 

相关文章:

  • ASP.NET MVC​ 入门指南五
  • 当跨网文件传输遇上医疗级安全筛查
  • Python部署Flask项目
  • 优雅的酸碱中和反应动画演示工具
  • HCIA-Datacom 高阶:VLAN、VLANIF 与静态路由综合实验
  • ‌AI情感陪伴:垂直化深耕与心智化革命重塑情感连接未来
  • 新人销售如何找精准客户?
  • 关于本地端口启动问题
  • 被关在idea小黑屏里写spark程序
  • yolov8使用
  • BFS最短路
  • 深入分析OpenCV技术原理:计算机视觉的核心力量
  • 数字化浪潮下的工业变革:企业转型的战略机遇与挑战
  • Open WebUI 设置通过硅基流动访问 DeepSeek v3 教程​
  • 偶然发现Git文件夹非常大,使用BGF来处理Git历史Blob文件
  • AI Agent 孵化器?开源框架CAMEL
  • 驱动开发硬核特训 · Day 24(上篇):走进Linux内核时钟子系统 —— 硬件基础全解析
  • 【自然语言处理与大模型】LangChain大模型应用框架入门①
  • Electron Forge【实战】桌面应用 —— 将项目配置保存到本地
  • 考OCM证书前需要有OCP证书
  • 浙商银行一季度净赚超59亿微增0.61%,非息净收入降逾22%
  • 郭继孚被撤销全国政协委员资格,此前为北京交通发展研究院长
  • 王毅:携手做世界和平与发展事业的中流砥柱
  • 病人有头发,照护者不发疯:《黑镜》中的身体缺席与虚伪关怀
  • 人民日报评论员:汇聚起工人阶级和广大劳动群众的磅礴力量
  • 北京公园使用指南