当前位置: 首页 > news >正文

【算法刷题day11】Leetcode: 20. 有效的括号、 1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

20. 有效的括号

文档链接:[代码随想录]
题目链接:20. 有效的括号
状态:ok

题目:
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。
注意:
1.用栈处理,先判断空,如果是左括号或空则入栈,如果右括号则看栈顶能不能消。

class Solution {
public:bool isValid(string s) {stack<char> a;for(int i = 0; i < s.size(); i++){if(a.empty() || s[i] == '(' || s[i] == '{' || s[i] == '['){a.push(s[i]);}else{if(s[i]==')'){if(a.top() == '('){a.pop();}else return false;}else if(s[i]=='}'){if(a.top() == '{'){a.pop();}else return false;}else if(s[i]==']'){if(a.top() == '['){a.pop();}else return false;}}}if(a.empty())return true;return false;}
};

1047. 删除字符串中的所有相邻重复项

文档链接:[代码随想录]
题目链接:1047. 删除字符串中的所有相邻重复项
状态:ok

题目:
给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。
在 S 上反复执行重复项删除操作,直到无法继续删除。
在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。
注意:
1.注意栈为空的情况和一直抵消的情况
2.最后栈是和字符串相反的,因此需要调换位置
3.注意字符串的定义形式为:string s = “”;
4.字符串添加字符的形式为:s+=“a”;
5.for循环的使用可以不用 i

class Solution {
public:string removeDuplicates(string s) {stack<char> a;for (int i = 0; i < s.size(); i++) {if (a.empty()) {a.push(s[i]);} else {if (a.top() != s[i]) {a.push(s[i]);} else {while (!a.empty() && a.top() == s[i]) {a.pop();i++;}if(i<s.size())a.push(s[i]);}}}string ss = "";stack<char> b;while (!a.empty()) {b.push(a.top());//cout<<b.top();a.pop();}int i = 0;while (!b.empty()) {ss += b.top();//cout<<ss[i - 1];b.pop();}//cout<<ss;s = ss;return s;}
};
class Solution {
public:string removeDuplicates(string S) {stack<char> st;for (char s : S) {if (st.empty() || s != st.top()) {st.push(s);} else {st.pop(); // s 与 st.top()相等的情况}}string result = "";while (!st.empty()) { // 将栈中元素放到result字符串汇总result += st.top();st.pop();}reverse (result.begin(), result.end()); // 此时字符串需要反转一下return result;}
};

150. 逆波兰表达式求值

文档链接:[代码随想录]
题目链接:150. 逆波兰表达式求值
状态:ok

题目:
给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。
请你计算该表达式。返回一个表示表达式值的整数。
注意:
有效的算符为 ‘+’、‘-’、‘*’ 和 ‘/’ 。
每个操作数(运算对象)都可以是一个整数或者另一个表达式。
两个整数之间的除法总是 向零截断 。
表达式中不含除零运算。
输入是一个根据逆波兰表示法表示的算术表达式。
答案及所有中间计算结果可以用 32 位 整数表示。
注意:
1.数据范围应该采用Longlong,C++中将字符串转化为longlong ,采用stoll(tokens[i])
2.a.pop()返回值为void,如果想获得栈顶元素应该用a.top()

class Solution {
public:int evalRPN(vector<string>& tokens) {stack<long long> a;for(int i = 0; i < tokens.size(); i++){if (tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "*" || tokens[i] == "/"){long long left = a.top();a.pop();long long right = a.top();a.pop();if(tokens[i] == "+"){a.push(left + right);}else if(tokens[i] == "-"){a.push(right - left);}else if(tokens[i] == "*"){a.push(left * right);}else if(tokens[i] == "/"){a.push(right / left);}}else{a.push(stoll(tokens[i]));}}long long result = a.top();return result;}
};

相关文章:

【算法刷题day11】Leetcode: 20. 有效的括号、 1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

20. 有效的括号 文档链接&#xff1a;[代码随想录] 题目链接&#xff1a;20. 有效的括号 状态&#xff1a;ok 题目&#xff1a; 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符…...

推荐算法策略需求-rank model优化

1.pred_oobe (base) [rusxx]$ pwd /home/disk2/data/xx/icode/baidu/oxygen/rus-pipeline/pipeline-migrate/UserBaseActiveStatPipeline/his_session (base) [rusxx]$ sh test.sh 2. user_skill_history_dict_expt2包含userid [workxx]$ vim /home/work/xx/du-rus/du_rus_o…...

hadoop 常用命令

hadoop 常用命令 hadoop fs -mkdir /test hadoop fs -put /opt/frank/tb_test03.txt /test/ hadoop fs -ls /test/ hadoop fs -cat /test/tb_test03.txt hadoop fs -rm /test/tb_test03.txt hadoop dfs 也能使用、但不推荐&#xff0c;执行会提示&#xff1a; DEPRECATED: Us…...

pdf在浏览器上无法正常加载的问题

一、背景 觉得很有意思给大家分享一下。事情是这样的&#xff0c;开发给我反馈说&#xff0c;线上环境接口请求展示pdf异常&#xff0c;此时碰巧我前不久正好在ingress前加了一层nginx&#xff0c;恰逢此时内心五谷杂陈&#xff0c;思路第一时间便放在了改动项。捣鼓了好久无果…...

实时语音识别(Python+HTML实战)

项目下载地址&#xff1a;FunASR 1 安装库文件 项目提示所需要下载的库文件&#xff1a;pip install -U funasr 和 pip install modelscope 运行过程中&#xff0c;我发现还需要下载以下库文件才能正常运行&#xff1a; 下载&#xff1a;pip install websockets&#xff0c;pi…...

x86_64 ubuntu22.04编译MetaRTC

metaRTC5.0 API https://github.com/metartc/metaRTC/wiki/metaRTC5.0-API Sample https://github.com/metartc/metaRTC/wiki/metaRTC5.0-API-Sample MetaRTC7.0编译 https://github.com/metartc/metaRTC/wiki/Here-we-come,-write-a-C-version-of-webRTC-that-runs-everywhere…...

FreeRTOS day1

1.总结keil5下载代码和编译代码需要注意的事项 需要与板子连通 配置完成后才点击下载 2.总结STM32Cubemx的使用方法和需要注意的事项 下载支持包 打开芯片配置界面 3.总结STM32Cubemx配置GPIO的方法...

SqlSugar快速入门

文章目录 配置SqlSugar0、引入SqlSugarCore包1、编写Context类2、配置实体类3、创建Service服务类进行数据库的CRUD4、配置Controller进行路由 配置SqlSugar 0、引入SqlSugarCore包 1、编写Context类 public static SqlSugarClient db new SqlSugarClient(new ConnectionCon…...

基于el-table实现行内增删改

实现效果&#xff1a; 核心代码&#xff1a; <el-table :data"items"style"width: 100%;margin-top: 16px"border:key"randomKey"><el-table-column label"计划名称"property"name"><template slot-scope&q…...

《霍格沃茨之遗》推荐购买吗 《霍格沃茨之遗》不支持Mac电脑怎么办 crossover24软件值得买吗 crossover中文官网

《霍格沃茨之遗》作为一款期待已久的游戏&#xff0c;自发布以来就吸引了无数玩家的目光。它以哈利波特系列为背景&#xff0c;提供了一个沉浸式的魔法世界体验&#xff0c;让玩家能够探索广阔的霍格沃茨魔法学校&#xff0c;体验魔法学习与战斗&#xff0c;解开古老谜团的乐趣…...

神经网络代码实现(用手写数字识别数据集实验)

目录 一、前言 二、神经网络架构 三、算法实现 1、导入包 2、实现类 3、训练函数 4、权重参数矩阵初始化 5、参数矩阵变换向量 6、向量变换权重参数矩阵 7、进行梯度下降 7.1、损失函数 7.1.1、前向传播 7.2、反向传播 8、预测函数 四、完整代码 五、手写数字识别 一、前言 …...

菜鸟笔记-Python函数-linspace

linspace 是 NumPy 库中的一个函数&#xff0c;用于生成具有指定数量的等间距样本的数组。它的名字来源于“linear space”&#xff08;线性空间&#xff09;&#xff0c;因为它在指定的范围内均匀地生成数值。 linspace 函数的基本语法如下&#xff1a; numpy.linspace(star…...

为什么我们应该使用QGIS

QGIS地理信息系统是免费的开源软件&#xff0c;已成为创建地图和分析空间数据的强大工具。在本文中&#xff0c;我们将探讨 QGIS 为地图公司带来的诸多好处&#xff0c;以及为什么使用它可以促进您的业务成功。使用QGIS的好处&#xff1a; 1. 免费开源软件&#xff0c;但从长远…...

用Python实现办公自动化(自动化处理Excel工作簿)

自动化处理Excel工作簿 &#xff08;一&#xff09;批量生产产品出货清单 以“出货统计表”为例&#xff0c; 需求&#xff1a;将出货记录按照出货日期分类整理成多张出货清单 “出货统计表数据案例” “产品出货清单模板” 1.提取出货统计表的数据 “Python程序代码” # 使用…...

BaseDao入门使用

目录 一、什么是BaseDao?BaseDao的优点&#xff1a;BaseDao用来做什么操作&#xff1f; 二、BaseDao封装增删改查 案例演示&#xff1a;1、java与数据库进行连接2、连接后可对其进行操作&#xff08;增、删、改&#xff09;返回影响行数3、查询 查询一个字段&#xff08;返回一…...

计算机毕业设计Python+Spark知识图谱高考志愿推荐系统 高考数据分析 高考可视化 高考大数据 大数据毕业设计 机器学习 深度学习 人工智能

学院&#xff08;全称&#xff09;&#xff1a; 专业&#xff08;全称&#xff09;&#xff1a; 姓名 学号 年级 班级 设计&#xff08;论文&#xff09; 题目 基于Spark的高考志愿推荐系统设计与实现 指导教师姓名 职称 拟…...

基于java+springboot+vue实现的电商个性化推荐系统(文末源码+Lw+ppt)23-389

摘 要 伴随着我国社会的发展&#xff0c;人民生活质量日益提高。于是对电商个性化推荐进行规范而严格是十分有必要的&#xff0c;所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套电商个性化推荐系统&#xff0c;帮…...

论文阅读,The Lattice Boltzmann Method: Principles and Practice(六)(1)

目录 一、流体模拟方法概述 二、传统的Navier-Stokes求解器 2.1 有限差分 2.2 有限体积法 2.3 有限元法 三、基于粒子的求解器 3.1 动力学理论 3.2 分子动力学 3.3 格子气体模型 3.4 耗散粒子动力学 3.5 多粒子碰撞动力学 3.6 直接模拟蒙特卡罗方法 3.7 平滑粒子流…...

新能源充电桩站场视频汇聚系统建设方案及技术特点分析

随着新能源汽车的普及&#xff0c;充电桩作为新能源汽车的基础设施&#xff0c;其安全性和可靠性越来越受到人们的关注。为了更好地保障充电桩的安全运行与站场管理&#xff0c;TSINGSEE青犀&触角云推出了一套新能源汽车充电桩视频汇聚管理与视频监控方案。 方案采用高清摄…...

三、音频隐写[Audacity、deepsound、dtmf2num、MMSSTV、虚拟声卡、MP3Stego]

工具 1.Audacity 下载&#xff1a;https://www.audacityteam.org/download/windows/ 使用&#xff1a; 删除&#xff1a;先用左键长按拖着选中内容&#xff0c;然后选择软件最上方菜单栏的编辑&#xff0c;然后选择“删除”&#xff0c;最后点击文件的导出音频就能成功导出…...

二、Web3 学习(区块链)

区块链基础知识 一、基础知识1. 区块链可以做什么&#xff1f;2. 区块链的三个特点 二、区块链的类型概括1. PoW2. PoS3. 私有链和联盟链 三、智能合约1. 什么是智能合约2. 如何使用智能合约 四、困境1. 三难选择的基本要素2. 这真的是一个三难选择吗? 五、比特币1. 什么是比特…...

Linux内网提权

一、SUID提权 前提条件&#xff1a; &#xff08;1&#xff09;SUID仅对二进制有效&#xff08;2&#xff09;执行者对于该程序需要有x的可执行权限&#xff08;3&#xff09;本权限仅在程序的执行过程中有效 1、设置SUID权限&#xff1a;&#xff08;root权限&#xff09; …...

聚观早报 | 抖音独立商城App上线;阿里云联发科合作

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 3月29日消息 抖音独立商城App上线 阿里云联发科合作 苹果WWDC24官宣 恒大汽车2023年营收财报 亚马逊投资Anthro…...

第十四届蓝桥杯省赛C++ B组所有题目以及题解(C++)【编程题均通过100%测试数据】

第一题《日期统计》【枚举】 【问题描述】 小蓝现在有一个长度为100的数组&#xff0c;数组中的每个元素的值都在0到9的范围之内。数组中的元素从左至右如下所示&#xff1a; 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 …...

【御控物联】 IOT异构数据JSON转化(场景案例一)

文章目录 前言技术资料 前言 随着物联网、大数据、智能制造技术的不断发展&#xff0c;越来越多的企业正在进行工厂的智能化转型升级。转型升级第一步往往是设备的智能化改造&#xff0c;助力设备数据快速上云&#xff0c;实现设备数据共享和场景互联。然而&#xff0c;在生产…...

Kubernetes-running app on kube

Docker 安装Docker 首先&#xff0c;您需要在Linux机器上安装Docker。如果您不使用Linux&#xff0c;则需要启动一个Linux虚拟机(VM)并在该虚拟机中运行Docker。如果你使用的是Mac或Windows系统&#xff0c;并按照指令安装Docker, Docker将为你建立一个虚拟机&#xff0c;并在…...

简述如何系统地学习Python

随着人工智能、大数据和云计算等技术的快速发展&#xff0c;编程已经成为了当今社会中不可或缺的一项技能。Python作为一种高级编程语言&#xff0c;因其简洁明了的语法、强大的功能和广泛的应用领域&#xff0c;成为了许多初学者和专业人士的首选。那么&#xff0c;如何系统地…...

bsd猜想 Murmuration of Eliptic Curves(笔记)

BSD Alexey Pozdnyakov (University of Connecticut) YUTUBE视频&#xff0c; B站搬运地址新生代女数学家Nina Zubrilina得到椭圆曲线椋鸟群飞模式精确公式与证明 Arithmetic Geometry算术几何 希尔伯特第十问题 希尔伯特第十问题&#xff08;Hilbert’s Tenth Problem&#…...

小米汽车正式发布:开启智能电动新篇章

随着科技的不断进步&#xff0c;汽车产业正经历着前所未有的变革。智能电动汽车作为这一变革的重要方向&#xff0c;正吸引着越来越多的目光。在这个充满机遇和挑战的时代&#xff0c;小米汽车凭借其卓越的技术实力和深厚的市场底蕴&#xff0c;终于迈出了坚实的一步。今天&…...

线性代数笔记25--复数矩阵、快速傅里叶变换

1. 复数矩阵 复向量 Z [ z 1 z 2 z 3 z 4 ⋯ ] Z\begin{bmatrix} z_1\\z_2\\z_3\\z_4\\ \cdots \end{bmatrix} Z ​z1​z2​z3​z4​⋯​ ​ 复向量的模长 ∣ z ∣ z ‾ ⊤ z [ z ‾ 1 z ‾ 2 z ‾ 3 ] [ z 1 z 2 z 3 ] \lvert z\rvert\overline z^{\top}z \begin{bmatrix…...

wordpress后天地址/西安百度竞价代运营

在动手写这篇之前&#xff0c;在朋友圈做了个调查&#xff0c;看到大家对百度轻应用的热情很高。 针对大家提的问题&#xff0c;和我对轻应用的理解&#xff0c;整理如下&#xff1a; 1、何为轻应用、微应用&#xff0c;及区别在哪里&#xff1f; 轻应用是在2013年百度世界大会…...

网站分类标准/百度关键词竞价

本文讲的是我的碎碎念&#xff1a;Docker入门指南&#xff0c;【编者的话】之前曾经翻译过很多Docker入门介绍的文章&#xff0c;之所以再翻译这篇&#xff0c;是因为Anders的角度很独特&#xff0c;思路也很调理。你也可以看下作者的演讲稿《Docker&#xff0c; DevOps的未来》…...

行业网站建设哪家好/百度竞价排名费用

这两年&#xff0c;线上办公逐渐常态化&#xff0c;相信大家对ftp这个概念也比较熟悉了。ftp&#xff0c;即文件传输协议&#xff0c;线上办公就是用ftp软件进行文件传输的。那ftp传输文件大小有限制吗,ftp文件传输工具有哪些我们一起来看看。 一、ftp传输文件大小有限制吗 f…...

网络开发语言的有哪些/湛江seo推广公司

前言在实际开发中分页查询是最常用的场景之一&#xff0c;但也通常也是最容易出问题的地方。DBA的同事给出的解决方法就是加“索引/组合索引”&#xff0c;例如在name,create_time,status等字段上加组合索引&#xff0c;这样根据这些条件查询的时候能够有效的利用索引&#xff…...

工信部网站备案系统/网站推广的渠道有

冯.诺依曼体系结构,个人的理解:物理电学补充:所有的物质,是由分子或原子组成的。分子是能保持物质化学性质不变的最小微粒。分子是由原子组成的&#xff0c;可分为单原子分子和多原子分子。原子的原子核式结构&#xff1a;原子的中心为原子核&#xff0c;电子在不同轨道上绕着原…...

网页视频下载软件免费版/资源网站排名优化seo

给定两个整数 nnn 和 kkk&#xff0c;请你找到并输出能够整除 nnn 的第 kkk 小的正整数。 输入格式 一行&#xff0c;两个整数 nnn 和 kkk。 输出格式 输出能够整除 nnn 的第 kkk 小的整数。 如果不存在&#xff0c;则输出 −1−1−1。 数据范围 1≤n≤10151≤n≤10^{15}1≤…...