JAVA练习348- 前 K 个高频元素
题目概览给你一个整数数组nums和一个整数k请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。示例 1输入nums [1,1,1,2,2,3], k 2输出[1,2]示例 2输入nums [1], k 1输出[1]示例 3输入nums [1,2,1,2,1,2,3,1,3,2], k 2输出[1,2]提示1 nums.length 10^5-10^4 nums[i] 10^4k的取值范围是[1, 数组中不相同的元素的个数]题目数据保证答案唯一换句话说数组中前k个高频元素的集合是唯一的进阶你所设计算法的时间复杂度必须优于O(n log n)其中n是数组大小。来源347. 前 K 个高频元素 - 力扣LeetCode解题分析方法哈希 堆每个数字出现次数可以先遍历一次用哈希表存储。由于对出现次数进行排序的话时间复杂度会达到 nlogn因此我们可以用通过堆来实现通过实现一个最小堆堆顶只放出现次数最小的元素则当堆大小小于 k 时入堆当堆大小等于 k 时比较当前元素与堆顶元素大小若当前元素大则将栈顶元素出栈入当前元素否则忽略时间复杂度O(nlogk) ( k 为优先队列的大小空间复杂度O(nlogk)class Solution { public int[] topKFrequent(int[] nums, int k) { final MapInteger, Integer map new HashMap(); for (int num: nums) { map.put(num, map.getOrDefault(num, 0) 1); } PriorityQueueInteger pq new PriorityQueue(new ComparatorInteger() { public int compare(Integer a, Integer b) { return map.get(a) map.get(b) ? 1 : -1; } }); for (Integer key: map.keySet()) { if (pq.isEmpty() || pq.size() k) { pq.offer(key); continue; } if (map.get(pq.peek()) map.get(key)) { pq.poll(); pq.offer(key); } } int[] result new int[k]; int i 0; while(!pq.isEmpty()) { result[i] pq.poll(); } return result; } }

相关新闻

3步掌握OBS背景移除插件:零绿幕打造专业直播背景

3步掌握OBS背景移除插件:零绿幕打造专业直播背景

3步掌握OBS背景移除插件:零绿幕打造专业直播背景 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: https://gitco…

2026/7/25 19:07:09 阅读更多 →
HPE iLO5忘记管理员密码全套重置实操方案

HPE iLO5忘记管理员密码全套重置实操方案

HPE iLO5管理员密码遗忘无法远程登录,所有密码重置操作必须物理接触服务器,无纯远程破解/重置手段;主流标准重置方式包含四类:1、服务器开机按F9进入UEFI系统工具,iLO5配置界面直接修改用户密码;2、服务器本…

2026/7/25 19:07:08 阅读更多 →
Linux性能优化:Buffer与Cache原理及实战调优

Linux性能优化:Buffer与Cache原理及实战调优

1. 存储性能优化的两大基石在Linux系统性能调优领域,Buffer和Cache是经常被混为一谈却本质迥异的核心概念。上周排查一个数据库性能问题时,发现团队里三年经验的运维工程师仍对这两者的区别模棱两可,这促使我决定写篇深度解析。理解它们的工作…

2026/7/25 19:06:08 阅读更多 →

最新新闻

Python量化交易实战:从数据分析到策略回测的工程化思维

Python量化交易实战:从数据分析到策略回测的工程化思维

你有没有过这样的经历?刷到一条“30天学会Python量化交易,学完即能就业”的视频,点进去看了几集,跟着敲了代码,感觉好像懂了,但关上视频,面对真实的市场数据,却不知道从何下手&#…

2026/7/25 19:18:13 阅读更多 →
深入解析TI ADS8339 SAR ADC:16位高精度、低功耗数据采集实战指南

深入解析TI ADS8339 SAR ADC:16位高精度、低功耗数据采集实战指南

1. 项目概述与核心价值在嵌入式系统、精密仪器和工业控制领域,我们常常需要将现实世界中的连续物理量——比如温度、压力、光强或声音——转化为微处理器能够理解和处理的数字信号。这个关键的桥梁就是模数转换器(ADC)。而在众多ADC架构中&am…

2026/7/25 19:18:13 阅读更多 →
Qwen大模型在智能图像编辑中的应用与实践

Qwen大模型在智能图像编辑中的应用与实践

1. 项目概述:当Qwen遇上图像编辑最近在测试Qwen大模型在图像处理领域的应用时,发现这个多模态模型在创意图像编辑方面展现出惊人的潜力。不同于传统PS工具需要手动调整参数,Qwen能够理解自然语言指令,实现"说人话"的智能…

2026/7/25 19:18:13 阅读更多 →
利用MCP协议与代码知识图谱构建AI代码理解系统

利用MCP协议与代码知识图谱构建AI代码理解系统

在实际开发中,我们常常面临一个困境:面对一个全新的、动辄几十万甚至上百万行代码的庞大项目,如何快速理解其架构、核心逻辑和依赖关系?传统的“人肉”阅读代码、搜索文档、调试运行的方式效率低下,而现有的AI编程助手…

2026/7/25 19:18:13 阅读更多 →
AI知识管理系统:从文档检索到智能问答的实践

AI知识管理系统:从文档检索到智能问答的实践

1. 项目背景与核心价值去年接手某跨国制造企业的知识管理系统改造时,我面对的是分散在12个不同系统中的技术文档、客户案例和工艺手册。工程师平均每周要花6.8小时在文档检索上,而40%的售后问题其实在内部知识库已有解决方案。这正是AI驱动知识管理系统的…

2026/7/25 19:18:13 阅读更多 →
计算机I/O控制方式全解析:从程序查询到通道技术

计算机I/O控制方式全解析:从程序查询到通道技术

如果你正在准备计算机组成原理的考试,特别是面对那些看似简单却容易混淆的I/O选择题,这篇文章就是为你准备的。很多同学在复习时容易陷入"背概念"的误区,结果遇到实际题目时还是无从下手。真正的问题不在于记忆,而在于理…

2026/7/25 19:17:13 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻