news 2026/4/16 17:11:40

【剑斩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/15 21:46:01

打造终极OBS屏幕标注神器:5分钟学会实时绘图与直播标注

打造终极OBS屏幕标注神器&#xff1a;5分钟学会实时绘图与直播标注 【免费下载链接】obs-studio OBS Studio - 用于直播和屏幕录制的免费开源软件。 项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio 你是否在直播教学时苦于无法实时标注重点内容&#xff…

作者头像 李华
网站建设 2026/4/16 6:03:28

TradingAgents-CN智能交易系统实战部署:5分钟破解四大部署障碍

TradingAgents-CN智能交易系统实战部署&#xff1a;5分钟破解四大部署障碍 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 还在为复杂的AI交易系…

作者头像 李华
网站建设 2026/4/16 5:57:46

OptiScaler深度解析:5步让你的游戏帧率翻倍,画质更清晰

OptiScaler深度解析&#xff1a;5步让你的游戏帧率翻倍&#xff0c;画质更清晰 【免费下载链接】OptiScaler DLSS replacement for AMD/Intel/Nvidia cards with multiple upscalers (XeSS/FSR2/DLSS) 项目地址: https://gitcode.com/GitHub_Trending/op/OptiScaler 还在…

作者头像 李华
网站建设 2026/4/16 6:03:29

通义千问2.5-0.5B-Instruct快速入门:API接口调用指南

通义千问2.5-0.5B-Instruct快速入门&#xff1a;API接口调用指南 1. 引言 1.1 轻量级大模型的现实需求 随着边缘计算和终端智能设备的普及&#xff0c;对高效、低资源消耗的大语言模型&#xff08;LLM&#xff09;需求日益增长。传统大模型虽然性能强大&#xff0c;但往往需…

作者头像 李华
网站建设 2026/4/16 5:59:32

智能客服实战:用IndexTTS-2-LLM快速搭建语音问答系统

智能客服实战&#xff1a;用IndexTTS-2-LLM快速搭建语音问答系统 在智能客服系统不断演进的今天&#xff0c;用户对交互体验的要求已从“能回答”升级为“像人一样回答”。传统的文本回复模式虽然高效&#xff0c;但在情感传递、可访问性和场景适配方面存在明显短板。如何让客…

作者头像 李华
网站建设 2026/4/16 5:56:31

终极指南:零基础快速上手OpenCode终端AI编程

终极指南&#xff1a;零基础快速上手OpenCode终端AI编程 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手&#xff0c;模型灵活可选&#xff0c;可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 还在为每天重复的代码调试而烦恼…

作者头像 李华