首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
leetcode 347前k个高频元素
📅 2026/10/5 9:13:27
✍️ 爱科研究院
👁 阅读 3,247
class Solution { public: // 按出现次数构造小顶堆 static bool cmp(pairint,int m, pairint,int n) { return m.second n.second; } vectorint topKFrequent(vectorint nums, int k) { // 统计数字 - 出现次数 unordered_mapint,int orders; for (auto v : nums) { orders[v]; } // 创建自定义小顶堆 priority_queue pairint,int, vectorpairint,int, decltype(cmp) q(cmp); // 维护出现次数最大的 k 个元素 for (auto [num, count] : orders) { if (q.size() k) { // 新元素频率更大替换堆顶 if (q.top().second count) { q.pop(); q.emplace(num, count); } } else { // 堆未满直接加入 q.emplace(num, count); } } // 取出堆中的数字 vectorint res; while (!q.empty()) { res.push_back(q.top().first); q.pop(); } return res; } };总结这题分为三步① 哈希表统计频率orders[v];得到数字 → 出现次数② 小顶堆维护前 K 个高频元素cmp保证q.top()始终是当前堆中出现次数最少的元素。堆满以后如果q.top().second count说明新元素频率更高就q.pop(); // 淘汰当前最小频率 q.emplace(num, count); // 加入新元素③ 最终堆中剩下的就是前 K 个高频元素。复杂度统计频率是O(n)维护堆约为O(n log k)整体O(n log k)堆的大小始终不超过k。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/5 9:13:27
智能体工作空间隔离实战:LocalCortex多租户配置与避坑指南
2026/10/5 9:13:27
终端里的LaTeX公式如何原生渲染?Pebrel TeX渲染管线完整解析
2026/10/5 9:13:27
Agent从工具调用到协作伙伴:Harness工程实战与Skill编排
2026/10/5 10:33:33
车辆检测数据集与YOLO11训练全流程指南
2026/10/5 10:33:33
软考网络工程师案例分析:网络设计与故障排除的备考突破路径
2026/10/5 10:33:33
电商平台软件架构设计:微服务拆分、分布式事务与高并发落地指南
2026/10/5 10:33:33
大数据平台选型与架构演进:从单体应用到实时计算链路的技术决策
2026/10/5 10:33:33
雷达辐射源识别从数据到模型:完整落地管线与避坑指南
2026/10/5 10:28:33
由前AI电商图片任务的输入字段设计:让生成结果可核对
2026/10/5 0:02:57
AZ-104题库深度拆解:从刷题到掌握Azure管理员核心考点
2026/10/5 0:02:57
WorkBuddy:基于MCP协议的组织级工作流神经中枢
2026/10/5 0:02:57
大模型 / AI 应用常见面试题及答案汇总(2026 最新版):用 TaoToken 统一 Key 跑通高频考点代码验证
2026/10/5 4:43:56
Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化
2026/10/5 1:10:25
多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系
2026/10/4 0:00:57
hindsight:面向LLM应用的事后可观测性工程实践
2026/10/4 2:41:08
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/4 17:59:15
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/3 15:20:14
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)