news 2026/4/21 8:07:05

【剑斩OFFER】算法的暴力美学——力扣 692 题:前 K 个高频单词

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【剑斩OFFER】算法的暴力美学——力扣 692 题:前 K 个高频单词

一、题目描述

二、算法原理

思路:建立 k 个节点的小根堆

原因:通过不断的入让数据入堆,导致大的数据沉底,如果节点大于 k 个,把堆顶的数据出堆,此时出的就是小的值,不断出,不断的入,导致最后留在堆的元素是前 k 个大的数据;

注意:堆的比较函数要特殊处理,当两个字符串的长度一样时,让ASCLL的值大的入堆;由于大的值沉底,所以我们的结果是逆序的;

三、代码示例

struct Compare { public: bool operator()(const pair<string,int>& x,const pair<string,int>& y)//比较函数 { if(x.second == y.second) { return x.first < y.first; } else { return x.second > y.second; } } }; class Solution { public: vector<string> topKFrequent(vector<string>& words, int k) { //处理频次 unordered_map<string,int> hash; for(auto& ch : words) hash[ch]++; //实现堆 priority_queue<pair<string,int>,vector<pair<string,int>>,Compare> mer; //维护堆的 K 个节点 for(auto& e : hash) { mer.push(e); if(mer.size() > k) { mer.pop(); } } //从堆中拿出 k 个节点 vector<string> ret; ret.resize(mer.size()); for(int i = ret.size() - 1 ; i >= 0; i--)//因为这个堆是小根堆,所以堆顶是小值,所以要逆序放置 { ret[i] = mer.top().first; mer.pop(); } return ret; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 10:29:14

通义千问Embedding模型版本混乱?镜像标签管理实战指南

通义千问Embedding模型版本混乱&#xff1f;镜像标签管理实战指南 1. 背景与问题&#xff1a;Qwen3-Embedding-4B 的版本迷雾 随着大模型生态的快速发展&#xff0c;阿里通义实验室推出的 Qwen3 系列在多个任务场景中展现出卓越性能。其中&#xff0c;Qwen3-Embedding-4B 作为…

作者头像 李华
网站建设 2026/4/17 20:53:14

gpt-oss-20b-WEBUI调优实践:效率提升秘籍分享

gpt-oss-20b-WEBUI调优实践&#xff1a;效率提升秘籍分享 1. 引言&#xff1a;本地化推理的现实挑战与优化必要性 随着大语言模型&#xff08;LLM&#xff09;在各类应用场景中的广泛落地&#xff0c;开发者对高效、可控、低延迟的本地推理需求日益增长。gpt-oss-20b-WEBUI 镜…

作者头像 李华
网站建设 2026/4/21 17:18:01

小白也能懂的AI绘图:麦橘超然离线控制台保姆级教程

小白也能懂的AI绘图&#xff1a;麦橘超然离线控制台保姆级教程 1. 引言&#xff1a;为什么你需要一个本地AI绘图工具&#xff1f; 随着生成式AI技术的普及&#xff0c;越来越多用户希望借助AI进行艺术创作。然而&#xff0c;许多在线AI绘画平台存在响应慢、隐私泄露风险、中文…

作者头像 李华
网站建设 2026/4/21 15:10:55

OpenCode完全安装指南:5分钟开启你的AI编程新时代

OpenCode完全安装指南&#xff1a;5分钟开启你的AI编程新时代 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手&#xff0c;模型灵活可选&#xff0c;可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 还在为传统编程工具的效率…

作者头像 李华
网站建设 2026/4/18 22:12:14

C#开发的桌面应用如何生成绿色可执行文件?完整示例

如何让C#桌面应用真正“绿色”&#xff1f;一个文件拷来就用的实战指南你有没有遇到过这样的场景&#xff1a;辛辛苦苦写了个小工具&#xff0c;想发给同事试用&#xff0c;结果对方双击就报错——“缺少.NET运行时”&#xff1f;或者客户内网环境严格封锁&#xff0c;不允许安…

作者头像 李华
网站建设 2026/4/17 15:13:49

Youtu-2B部署效率低?生产级Flask封装优化实战

Youtu-2B部署效率低&#xff1f;生产级Flask封装优化实战 1. 背景与挑战&#xff1a;轻量模型的高可用服务需求 随着大语言模型&#xff08;LLM&#xff09;在端侧和边缘计算场景中的广泛应用&#xff0c;如何在有限算力条件下实现高效、稳定的推理服务成为工程落地的关键挑战…

作者头像 李华