LeetCode 692.前K个高频单词

news2024/12/25 12:18:41

LeetCode 692.前K个高频单词 C++

image-20240913161342522

思路🧐:

  首先用map存储该字典,然后放进vector进行排序,注意sort的排序规则与我们想要的规则不一致,所以我们需要写一个伪函数来判断second(value值),由于该题要求了稳定性,所以我们在伪函数还需要继续判断相等情况的顺序。排完序后用vector将前k个单词存储起来返回。

代码🔎:

class Solution {
public:
    struct Ksort
    {
        bool operator()(const pair<string,int>& kv1,const pair<string,int>& kv2)
        {
            return kv1.second > kv2.second || (kv1.second == kv2.second) && kv1.first < kv2.first;
        }
    };
    vector<string> topKFrequent(vector<string>& words, int k) {
        map<string, int> top;
        for(auto& e : words)
        {
            top[e]++;
        }
        vector<pair<string,int>> v(top.begin(),top.end()); //vector兼容多种迭代器
        sort(v.begin(),v.end(),Ksort()); //排序
        vector<string> topv;
        for(size_t i = 0; i < k; i++) //选取前k个
        {
            topv.push_back(v[i].first);
        }
        return topv;
    }
};

image-20240913162137616

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2132176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rider使用习惯

1.修改rider的快捷方式为VSCode样式的&#xff0c;修改设置方式 2.在项目中点击某个脚本文件&#xff0c;即在项目视图中选中这个文件&#xff0c;设置方式如下&#xff1a; 暂时先记录这么多&#xff0c;以后有零碎的随时记录

VUE,element-ui,优化tabs组件每次点击,所有子页面都重新渲染问题

1.在data中定义每个子组件相应的值&#xff0c;ture为加载&#xff0c;false为不加载。 2.在子组件中使用v-if来判断是否渲染当前页面 3.在函数中对子组件的值进行切换。 handleClick(){if(this.activeNamefirst){this.pageOne truethis.pageTwo false}else if(this.active…

通过 4EVERLAND 的终极 4EVER Boost 活动增强你的活动能力!

介绍 近日&#xff0c;4EVERLAND宣布启动最新、最激动人心的计划 — 4EVER Boost 活动&#xff01;4EVER Boost 活动旨在吸引更多社区成员加入并加速去中心化物理基础设施4EVER 网络的发展。用户可以参与节点质押、日常任务和 T4EVER/NFT 质押&#xff0c;以加快获得 $4EVER 积…

Spring Security认证与授权

1 Spring Security介绍 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。由于它是Spring生态系统中的一员&#xff0c;因此它伴随着整个Spring生态系统不断修正、升级&#xff0c;在spring boot项目中加入springsecurity更是…

隔离DCDC模块B0505/B0503对RS485和CAN总线进行电源隔离

CAN和485都是工业通信中常用的现场总线&#xff0c;做好通信总线的隔离防护是产品可靠、稳定的重要前 提。 一、通信总线为什么要隔离&#xff1f; 目前大多数产品对外通讯部分可总结为&#xff1a; MCU收发器外部总线&#xff0c;其中大多数常用的MCU都集成有CAN或UART链路层…

Linux中的简单命令2

一.echo指令 echo的作用是显式文本内容 #echo ‘字符串’ #echo “字符串” echo会将后面的内容当作字符串直接打印在屏幕上&#xff0c;后面的内容需要用单引号或者双引号括起来 注意&#xff1a;echo会自动在字符串后面加上一个换行符。 可以与printf进行对比&#xff1a; …

从Zotero6到Zotero7的数据迁移尝试?(有错勿喷,多多指教!)

从Zotero6到Zotero7的数据迁移尝试 0 前言 之前在主机上一直用的Zotero6&#xff08;实验室主机&#xff09;&#xff0c;最近发现在个人笔记本上看论文更频繁&#xff0c;尝试重新部署Zotero&#xff0c;才发现竟然更新了&#xff01;所以这里简单记录一下数据迁移过程&…

水厂中的反冲洗工艺

滤池作为水厂的重要的处理单元之一,滤池的形式多种多样,但其截留水中杂质的原理基本相同。我们以常见的V型滤池为例,介绍一下水厂中的反冲洗工艺。 V型滤池是快滤池的一种形式,因为其进水槽形状呈V字形而得名,也叫均粒滤料滤池(其滤料采用均质滤料,即均粒径滤料)、六阀滤…

代码随想录算法训练营第14天|226. 翻转二叉树、101. 对称二叉树、104. 二叉树的最大深度、111. 二叉树的最小深度

目录 226. 翻转二叉树1、题目描述2、思路3、code&#xff08;后序递归&#xff09; 101. 对称二叉树1、题目描述2、思路3、code 104. 二叉树的最大深度1、题目描述2、思路3、code 111. 二叉树的最小深度1、题目描述2、思路3、code 226. 翻转二叉树 题目链接&#xff1a;link …

2024年最新软件测试学习路线图(从入门到精通)

六维全息课程注重综合能力培养&#xff0c;从入学到职后一站式服务测试开发人才。2024年最新软件测试学习路线图&#xff0c;从入门到精通一应俱全。 9阶段专业课11大专项测试项目 适应互联网企业测试开发需求。 对于想入行学软件测试的新手来说&#xff0c;首先就需要一个高效…

GESP等级考试 C++二级-if语句

if语句是C中的选择语句&#xff0c;通过if语句程序可以在一种可能、二种可能或者多种可能中做出选择&#xff0c;对于不同的可能进行不同的处理。 1 一种可能 使用if语句对一种可能进行处理的格式如下所示&#xff1a; if (表达式) {语句; } 其中&#xff0c;if后面跟一个圆…

预报名来啦!25届考研所有重要时间节点和注意事项一览

预报名即将开始&#xff0c;学姐给大家准备了&#xff0c;详细的报考流程及常见问题&#xff0c;每年都有学生因为报名出问题导致没法参加考试&#xff0c;大家一定要认真对待哦~ 一.报名时间及流程 01 预报名时间 2024年9月24日至9月27日&#xff0c;9:00—22:00 02 预报名…

高校课堂教学管理系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;教师管理&#xff0c;课程分类管理&#xff0c;课程资源管理&#xff0c;互动论坛&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;课程资源&#xff0…

HarmonyOS ArkUI 构建布局

文章目录 一、构建布局1.线性布局 (Row/Column)1.1 Blank空白填充组件1.2 layoutWeight 自适应缩放1.3 自适应延伸 2.弹性布局 (Flex)3.栅格布局 (GridRow/GridCol)3.创建列表 (List) 一、构建布局 1.线性布局 (Row/Column) 线性布局文档 通过线性容器Row和Column构建 Column…

QT之QML学习五:添加自定义Qml组件,以及组件管理

开发环境: 1、Qt 6.7.2 2、Pyside6 3、Python 3.11.4 4、Windows 10 重要的事情说三遍,使用自定义qml参考链接: Qt官网参考网址!!! 重要的事情说三遍,使用自定义qml参考链接: Qt官网参考网址!!! 重要的事情说三遍,使用自定义qml参考链接: Qt官网参考网址!!!…

怎么看待伦敦银交易的风险与收益?

伦敦银交易的风险与收益&#xff0c;在宣传材料中&#xff0c;伦敦银是一种潜在收益很高&#xff0c;潜在风险不大的品种。然而在实践中我们发现&#xff0c;伦敦银交易好像并不如宣传材料说的那样容易做。那么&#xff0c;具体伦敦银交易的风险和收益是怎么样的&#xff1f;那…

Python:只需20行代码,一键下载网络热门短剧,简直不要太爽!

网络短剧铺天盖地&#xff0c;主打的就是一个爽字&#xff0c;但有有些博主就是不当人&#xff0c;喜欢一剪没&#xff0c;正当我们看的津津有味的时候&#xff0c;进度条却到底了&#xff01;&#xff01;&#xff01; 对于大家来说&#xff0c;想看续集&#xff0c;都是全凭实…

力扣第560题 和为k的子数组

前言 记录一下刷题历程 力扣第560题 和为k的子数组 和为k的子数组 原题目&#xff1a;给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1&#xff1a; 输入&#xff1a;nums …

源码分析:LinkedList

一、LinkedList 简介 LinkedList 是一个基于双向链表实现的集合类&#xff0c;经常被拿来和 ArrayList 做比较。 不过&#xff0c;我们在项目中一般是不会使用到 LinkedList 的&#xff0c;需要用到 LinkedList 的场景几乎都可以使用 ArrayList 来代替&#xff0c;并且&#x…

7-8 哈利·波特的考试

题意简述&#xff1a; 给一个图&#xff0c;求一个点&#xff0c;该点离其他点最小距离的最大值 最小。 输入样例: 6 11 3 4 70 1 2 1 5 4 50 2 6 50 5 6 60 1 3 70 4 6 60 3 6 80 5 1 100 2 4 60 5 2 80输出样例: 4 70 注意&#xff1a;0x3f不能写在判断里面&#xff0c;…