news 2026/9/3 1:17:07

【剑斩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/9/1 2:21:28

Mindustry终极安装指南:5步快速上手开源自动化塔防游戏

Mindustry终极安装指南&#xff1a;5步快速上手开源自动化塔防游戏 【免费下载链接】Mindustry The automation tower defense RTS 项目地址: https://gitcode.com/GitHub_Trending/min/Mindustry Mindustry是一款独特的开源自动化塔防实时战略游戏&#xff0c;它将塔防…

作者头像 李华
网站建设 2026/9/2 14:59:57

科哥镜像实测:阿里中文ASR识别准确率真惊艳

科哥镜像实测&#xff1a;阿里中文ASR识别准确率真惊艳 1. 引言 在语音交互日益普及的今天&#xff0c;高精度、低延迟的中文语音识别&#xff08;ASR&#xff09;系统已成为智能应用的核心组件。然而&#xff0c;许多开源方案在真实场景中面临识别准确率不足、专业术语识别偏…

作者头像 李华
网站建设 2026/9/2 20:26:55

FST ITN-ZH技术揭秘:中文文本标准化模型

FST ITN-ZH技术揭秘&#xff1a;中文文本标准化模型 1. 简介与背景 在自然语言处理&#xff08;NLP&#xff09;的实际应用中&#xff0c;语音识别系统输出的文本通常包含大量非标准表达形式。例如&#xff0c;“二零零八年八月八日”或“早上八点半”这类口语化、文字化的表…

作者头像 李华
网站建设 2026/9/2 22:27:47

AI智能二维码工坊性能优势:响应速度对比测试报告

AI智能二维码工坊性能优势&#xff1a;响应速度对比测试报告 1. 引言 1.1 选型背景 在当前数字化办公与移动互联网高度普及的背景下&#xff0c;二维码作为信息传递的重要载体&#xff0c;广泛应用于支付、身份认证、广告推广、设备连接等多个场景。随着使用频率的提升&…

作者头像 李华
网站建设 2026/8/28 23:57:18

KiCad原理图审查流程规范:团队协作中的关键步骤

如何让 KiCad 团队协作不再“翻车”&#xff1f;一套实用的原理图审查实战指南你有没有遇到过这样的场景&#xff1a;PCB 打样回来&#xff0c;发现某个芯片的封装引脚反了&#xff1b;电源模块明明仿真没问题&#xff0c;实测却反复重启&#xff1b;多人协作时&#xff0c;同事…

作者头像 李华
网站建设 2026/9/1 17:20:07

音乐播放器终极进化:5步打造你的专属听觉空间

音乐播放器终极进化&#xff1a;5步打造你的专属听觉空间 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 还在用千篇一律的音乐播放器界面吗&#xff1f;foobox-cn将彻底改变你对音乐播放的认知&…

作者头像 李华