算法-栈操作

 

1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode)

class Solution {
public:string removeDuplicates(string s) {string stack;for(char& ch:s){if(stack.size()>0&&ch==stack.back()){stack.pop_back();}else{stack.push_back(ch);}}return stack;}
};

844. 比较含退格的字符串 - 力扣(LeetCode)

class Solution {
public:bool backspaceCompare(string s, string t) {string tmp_s;string tmp_t;for(char& ch:s){if(ch=='#'){if(tmp_s.size()>0)tmp_s.pop_back();}else{tmp_s.push_back(ch);}}for(char& ch:t){if(ch=='#'){if(tmp_t.size()>0)tmp_t.pop_back();}else{tmp_t.push_back(ch);}}if(tmp_s==tmp_t) return true;return false;}
};

227. 基本计算器 II - 力扣(LeetCode)

class Solution {
public:int calculate(string s) {vector<int> stack;//栈内不存在加减乘除符号,符号遍历时用op保存,如果有括号的话,需要另一个栈,然后加减符号可以用正负代替插入。int i=0; int n=s.size();char op='+';while(i<n){if(s[i]==' ') i++;else if(0+'0'<=s[i]&&s[i]<=0+'9'){//提取数字int tmp=s[i++]-'0';while(0+'0'<=s[i]&&s[i]<=0+'9') tmp+=tmp*10+s[i++]-'0';cout<<"op: "<<op<<endl;cout<<tmp<<endl;if(op=='+') stack.push_back(tmp);else if(op=='-') stack.push_back(-tmp);else if(op=='*'){int tmp1=stack.back();//必须在push前先popstack.pop_back();stack.push_back(tmp1*tmp);// stack.pop_back();}else if(op=='/'){int tmp1=stack.back();stack.pop_back();stack.push_back(tmp1/tmp);} for(int num:stack){cout<<num<<" ";}cout<<endl;}else {// cout<<"op: "<<op<<endl;op=s[i++];}}int ret=0;for(int& num:stack){// cout<<num<<endl;ret+=num;}return ret;}
};

946. 验证栈序列 - 力扣(LeetCode)

class Solution {
public:bool validateStackSequences(vector<int>& pushed, vector<int>& popped){stack<int> st;int i=0; int n=popped.size();for(int &val : pushed){st.push(val);while(st.size()&&st.top()==popped[i]){st.pop();i++;}}return st.size()==0;}
};

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

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

相关文章

blender Principled Hair BSDF

三种模式&#xff1a; Direct Coloring 直接指定所需的RGB颜色值着色器会尝试近似所需的吸收系数来模拟该颜色Melanin Concentration 使用更加物理化的方式定义头发/毛发颜色通过指定黑色素(Melanin)的浓度和黑红色素(Pheomelanin/Eumelanin)的比例来确定颜色更符合头发/毛发中…

AI大模型实现软件智能化落地实践

1、什么是大模型 大型语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff1b;Large Language Models&#xff0c;LLMs)。 大语言模型是一种深度学习模型&#xff0c;特别是属于自然语言处理&#xff08;NLP&#xff09;的领域&#xff0c;一般是指包含数干亿&…

Pandas 模块-操纵数据(11)-二元运算--超级add、sub、mul、div、mod、pow等等

目录 1. DataFrame.add 1.1 DataFrame.add 语法结构 1.2 DataFrame.add 参数说明 1.3 DataFrame.add 用法示例 1.3.1 正常的使用 1.3.2 需要注意类型相符合 2. DataFrame.sub 2.1 DataFrame.sub 语法结构 2.2 DataFrame.sub 参数说明 2.3 DataFrame.sub 用法示例 3.…

传媒论坛编辑部传媒论坛杂志社传媒论坛杂志2024年第7期目录

专题│场景传播研究 场景传播&#xff1a;一场遮盖自我与寻找自我的博弈 胡沈明; 3 基于CiteSpace的中国场景传播研究热点分析 管倩;粟银慧; 4-610《传媒论坛》投稿&#xff1a;cnqikantg126.com 数字世界的美与危&#xff1a;场景传播的失范与应对之举 王依晗;章洁…

什么是Spring容器中的组件

在Spring容器中&#xff0c;组件指的是被Spring管理的对象&#xff0c;包括JavaBean、Service、Repository等等。这些组件可以通过Spring容器的自动装配机制进行依赖注入&#xff0c;从而实现对象之间的解耦和灵活性。 Spring容器中的组件通过配置文件或注解的方式进行定义和注…

分布式-知识体系

分布式系统 本质就是一堆机器的协同&#xff0c;要做的就是用各种手段来让机器的运行达到预期 分布式业务场景 分布式四纵四横说 基于 MSA&#xff08;微服务架构&#xff09;的分布式知识体系 相关概念 – 【摘自网络原文】 节点与网络 节点 传统的节点也就是一台单体的物…

MySQL数据类型:字符串类型详解

MySQL数据类型&#xff1a;字符串类型详解 在MySQL数据库中&#xff0c;字符串数据类型用于存储各种文本信息。这些数据类型主要包括CHAR、VARCHAR、TEXT和BLOB等。 CHAR与VARCHAR CHAR CHAR类型用于存储固定长度的字符串。它的长度在创建表时就已确定&#xff0c;长度范围…

2024-04-25 问AI: 介绍一下 ISBI 挑战赛

文心一言 ISBI挑战赛是由IEEE国际生物医学成像研讨会&#xff08;IEEE International Symposium on Biomedical Imaging&#xff0c;简称ISBI&#xff09;主办的一项具有很高国际学术声誉的竞赛。ISBI挑战赛旨在推动生物医学成像领域的技术进步和应用创新&#xff0c;通过提供…

docker 安装geoipupdate

前提是docker已安装 一&#xff1a;执行命令&#xff1a; docker run --env-file /usr/local/etc/GeoIP.conf -v /usr/local/GeoIP2:/usr/share/GeoIP ghcr.io/maxmind/geoipupdate /usr/local/etc/GeoIP.conf &#xff1a;本地配置的账号&#xff0c;秘钥 GEOIPUPDATE_AC…

QJ71C24N-R2 三菱Q系列串行通信模块

三菱Q系列串行通信模块是通过串行通信用的RS-232、RS-422/485线路将对方设备与Q系列可编程控制器CPU相连接,以实现如下所示的数据通信的模块。通过使用调制解调器/终端适配器,可以利用公共线路(模拟/数字)实现与远程设备间的数据通信。 QJ71C24N-R2参数说明&#xff1a;串行RS-…

统一建模语言UML图

uml 图定义 Unified Modeling Language&#xff08;统一建模语言&#xff0c;UML&#xff09;是一种用于软件系统设计和建模的标准化语言。它提供了一套图形化的符号和约定&#xff0c;用于描述软件系统的结构、行为和交互&#xff0c;以及系统与外部环境之间的关系。UML通常用…

DIY高考倒计时小软件python实现

目录 一.前言 二.完整代码 三.代码分析 一.前言 高考倒计时是指从当前日期到高考日期之间的天数倒计时。高考是指中国的普通高等学校招生全国统一考试,是中国教育系统中最为重要和决定性的考试之一。在高考前,学生和家长通常会关注离高考还有多少天,以便合理安排备考时间…

为什么36KbRAM会配置为32K×1,少的那4Kb去哪了?

首先我们需要了解BRAM的相关知识&#xff0c;可以参考下面两篇文章&#xff1a; Xinlinx FPGA内的存储器BRAM全解-CSDN博客 为何有时简单双口RAM是真双口RAM资源的一半-CSDN博客 本问题的背景是&#xff1a; 每个36Kb块RAM也可以配置成深度宽度为64K 1(当与相邻的36KB块RA…

淘宝新店没有流量和访客怎么办

淘宝新店没有流量和访客时&#xff0c;可以采取以下措施来提升店铺的流量和吸引更多的访客&#xff1a; 3an推客是给商家提供的营销工具&#xff0c;3an推客CPS推广模式由商家自主设置佣金比例&#xff0c;以及设置商品优惠券&#xff0c;激励推广者去帮助商家推广商品链接&…

SVG 绘制微信订阅号icon

效果 代码 <!DOCTYPE html> <html> <body><svg xmlns"http://www.w3.org/2000/svg" version"1.1" width"600" height"600"><rect x"0" y"0" rx"0" ry"0" width&…

JavaEE 初阶篇-深入了解 UDP 通信与 TCP 通信(综合案例:实现 TCP 通信群聊)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 UDP 通信 1.1 DatagramSocket 类 1.2 DatagramPacket 类 1.3 实现 UDP 通信&#xff08;一发一收&#xff09; 1.3.1 客户端的开发 1.3.2 服务端的开发 1.4 实现 …

【信息系统项目管理师知识点速记】整合管理:实施整体变更控制

8.8 实施整体变更控制 1. 定义: 审查所有变更请求,批准变更,管理对可交付成果、项目文件和项目管理计划的变更,并对变更处理结果进行沟通的过程。 2. 重要性: 项目经理对整体变更控制过程负最终责任。变更请求可能影响项目范围、产品范围、项目管理计划或项目文件的任何…

Arm功耗管理精讲与实战

安全之安全(security)博客目录导读 思考 1、为什么要功耗管理&#xff1f;SOC架构中功耗管理示例&#xff1f;功耗管理挑战&#xff1f; 2、从单核->多核->big.LITTLE->DynamIQ&#xff0c;功耗管理架构演进? 3、什么是电压域&#xff1f;什么是电源域&#xff1f…

企微SCRM私域运营:构建高效客户关系管理的关键路径

随着市场竞争的日益激烈&#xff0c;客户关系管理&#xff08;CRM&#xff09;已成为企业提升竞争力的关键所在。而企业微信&#xff08;企微&#xff09;作为连接企业与客户的桥梁&#xff0c;其强大的SCRM&#xff08;社会化客户关系管理&#xff09;功能为企业提供了私域运营…

Centos 7.9 一键安装 Oracle 12CR2(240116)单机 PDB

前言 Oracle 一键安装脚本&#xff0c;演示 CentOS7.9 一键安装 Oracle 12CR2 单机PDB&#xff08;240116&#xff09;过程&#xff08;全程无需人工干预&#xff09;。&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载地址&#xff1a;Shell脚…