【LeetCode】HOT 100(26)

题单介绍:

精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。

目录

题单介绍:

题目:394. 字符串解码 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

题目:347. 前 K 个高频元素 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过过过过啦!!!!

写在最后:


题目:394. 字符串解码 - 力扣(Leetcode)

题目的接口:

class Solution {
public:string decodeString(string s) {}
};

解题思路:

看到这种括号匹配的题目,

第一个想法其实就是用栈来解决,

一个栈存储数字,一个栈存储字母,

遇到做括号入栈,遇到右括号就出栈,

根据这个思路来做就行:

代码如下:

代码:

class Solution {
public:string decodeString(string s) {stack<int> stI;stack<string> stS;int num = 0;string res = "";for(int i = 0; i < s.size(); i++) {if(s[i] >= '0' && s[i] <= '9') { //数字num = num * 10 + (s[i] - '0');}else if((s[i] >= 'a' && s[i] <= 'z') ||(s[i] >= 'A' && s[i] <= 'Z')) { //字母res += s[i];}else if(s[i] == '[') { //左方括号stI.push(num);num = 0;stS.push(res);res = "";}else { //s[i] == "]"int tmp = stI.top();stI.pop();for(int j = 0; j < tmp; j++) {stS.top() += res;}res = stS.top();stS.pop();}}return res;}
};

过过过过啦!!!!

题目:347. 前 K 个高频元素 - 力扣(Leetcode)

题目的接口:

class Solution {
public:vector<int> topKFrequent(vector<int>& nums, int k) {}
};

解题思路:

很开心很开心,

这道题是我的原创思路解法,总共分三步走:

思路如下:

第一步,用map记录元素出现的次数,并去重;

第二步,然后用优先级队列根据出现的次数排一个降序,让出现次数最多的在最前面;

第三步,从优先级队列里面拿出前k个出现次数最多的数字push进返回数组即可。

代码如下:

代码:

class Solution {
public:vector<int> topKFrequent(vector<int>& nums, int k) {//第一步,用map记录元素出现的次数,并去重map<int, int> mp;for(auto e : nums) mp[e]++;//第二步,然后用优先级队列根据出现的次数排一个降序,让出现次数最多的在最前面priority_queue<pair<int, int>, vector<pair<int,int>>, cmp> pq;for(const auto& k : mp) pq.push(k);//第三步,从优先级队列里面拿出前k个出现次数最多的数字push进返回数组即可vector<int> ans;for(int i = 0; i < k; i++) {ans.push_back(pq.top().first);pq.pop();}return ans;}private:class cmp {public://根据出现的次数排成降序的排序逻辑(仿函数)bool operator()(const pair<int,int>& cp1, const pair<int,int>& cp2) {return cp1.second < cp2.second;}};
};

过过过过啦!!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web训练项目相关

一、简述 一直没有机会整理前面做过的内容&#xff0c;特此文章整理所学过的web相关训练内容,方便查阅&#xff0c;并在其中参杂对代码理解。 二、相关项目 1.getparameter的url传值 index.jsp <% page language"java" contentType"text/html; charsetu…

利用ffmpeg使用脚本+excel批量合成视频

起因是忘了是什么时候&#xff0c;下载的视频是被切割的一个一个的&#xff0c;所以网上找了方法&#xff0c;利用ffmpeg批量进行了批量合成&#xff0c;这里记录一下&#xff0c;并用gpt解释一下脚本含义。 1、文件名批量转mp4格式 如果文件名不规范&#xff0c;可以利用exce…

Python物联网开发-Python_Socket通信开发-Python与Tcp协议物联网设备通信-Socket客户端

一、前言 Python在物联网开发中的重要愈来愈重&#xff0c;因此&#xff0c;掌握Python语言与物联网设备之间的通信就显得尤为重要&#xff0c;可以通过编写Python程序实现获取物联网设备的传感器数值并可以更改物联网设备上的执行器状态。 二、程序实现 首先&#xff0c;当使…

ChatGpt基于第三方API2D服务封装的SpringBoot starter

前置条件&#xff1a; 看下API2D官网&#xff0c;第三方API2D服务对接流程&#xff1a; 其对接文档地址 https://api2d.com/wiki/doc 一:创建一个空的Maven项目 完成后整的项目层级图如下 1.pom.xml 中添加相关依赖包 <?xml version"1.0" encoding"UTF-…

【Python详解】Python类的详细定义与使用案例

大家好&#xff0c;我是洲洲&#xff0c;欢迎关注&#xff0c;一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我&#xff01; 本文目录 前言一、定义类二、类的实例化三…

对于 Spring MVC 了解? SpringMVC 的执行流程?SpringMVC 的核心是什么?请求的流程是怎么处理的?控制反转怎么实现的?

对于 Spring MVC 了解? 之前 Model1 和 Model2 这两个没有 Spring MVC 的时代。 Model1 时代 : 整个 Web 应用几乎全部用 JSP 页面组成&#xff0c;只用少量的 JavaBean 来处理数据库连接、访问等操作。 JSP 既是控制层又是表现层&#xff0c;存在很多问题&#xff0c;如①将…

阿里云ECS扩容硬盘空间及文件系统

一.通过阿里云控制台扩容硬盘 前往ECS实例详情页面的云盘页签。 登录ECS管理控制台。在左侧导航栏&#xff0c;选择实例与镜像 > 实例。在顶部菜单栏处&#xff0c;选择目标ECS实例所在地域。找到待扩容云盘所在的实例&#xff0c;单击实例ID。在实例详情页面&#xff0c;单…

android studio 添加并读取json配置文件

第一步&#xff1a;在android studio中添加json文件&#xff1b; 第二步&#xff1a;读取文件的函数 private String[] getJosnData(){String result[] null;List<String> list new ArrayList<>();try {//获取本地的Json文件AssetManager assetManager mConte…

解析Java类加载的运行机制和双亲委派模型

类加载运行机制 类加载形如把.class文件&#xff0c;加载到内存中&#xff0c;得到类对象这样的过程 类加载一共分为五个步骤&#xff1a; 加载验证准备解析初始化 加载 类加载的第一步是将编译好的 Java 类的字节码文件加载到 Java 虚拟机&#xff08;JVM&#xff09;中。类…

阿里云:机器学习平台及OpenSearch

机器学习流程 相关项目 BladeDISC-AI编译优化 EasyRec-推荐算法库 EasyCV-视觉图像算法库 EasyNLP-NLP/多模态算法库 模型开发中算法团队面临的工程挑战 Develop platform OpenSearch 向量检索库

1.4 MVP矩阵

MVP矩阵代表什么 MVP矩阵分别是模型&#xff08;Model&#xff09;、观察&#xff08;View&#xff09;、投影&#xff08;Projection&#xff09;三个矩阵。 我们的顶点坐标起始于局部空间&#xff08;Local Space&#xff09;&#xff0c;在这里他成为局部坐标&#xff08;L…

【大语言模型】LLM应用程序的新兴体系结构

LLM应用程序的新兴体系结构 LLM应用栈设计模式&#xff1a;In-context learningData Preprocessing/EmbeddingPrompt Construction/RetrievalPrompt Execution/Inference What about agents?展望参考资料 大型语言模型是构建软件的强大新基元。但由于它们非常新颖且与常规计算…