代码随想录算法训练营第11天

20. 有效的括号

方法:

	1.   如果 !st.empty()  return false

在这里插入图片描述

		2.如果st.top() != s[i]   return false

在这里插入图片描述

	3. 如果  st.empty()   return false

在这里插入图片描述

注意: 以下这种写法 不满足 题目要求的第二点,不能以正确的顺序闭合

            if(s[i] == st.top()){
                return true;
                st.pop();
            }

在这里插入图片描述

代码:

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

                  

        }

        if(st.empty()){
            return true;
        }
        return false;

        // return st.empty();       



    }
};

在这里插入图片描述

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

方法:栈

	定义栈st
	遍历整个s,
	如果st是空  或者  st.top() != s[i]   则将s[i]加入栈st中。
	否则  st.top() == s[i]  弹出st.top();

注意:

代码:

class Solution {
public:
    string removeDuplicates(string s) {
        stack<char>st;
        for(int i=0; i<s.size(); i++){
            if(st.empty() || st.top()!= s[i]){
                st.push(s[i]);
            }else{
                st.pop();
            }
           

        }

        string res;
        while(!st.empty()){
            res+=st.top();
            st.pop();
        }
        reverse(res.begin(), res.end());
        return res;
    }
};

在这里插入图片描述

150. 逆波兰表达式求值

方法: 栈

注意:逆波兰表达式 注意 加减乘除顺序 是s2+s1 s2-s1 s2*s1 s2/s1

代码:

class Solution {
public:
    int evalRPN(vector<string>& s) {
        stack<long long >st;
        for(int i=0; i<s.size(); i++){
            if(s[i] != "+" && s[i] != "-" && s[i] != "*" && s[i] != "/"){
                st.push(stoll(s[i])); 
            }else if(s[i] == "+"||s[i] == "-" || s[i] == "*"||  s[i] == "/"  ){
                long long s1 = st.top();
                cout<< "s1  " <<s1<<endl;
                st.pop();
                long long s2 = st.top();
                cout<<"s2  " <<s2<<endl;
                st.pop();  
                if(s[i] == "+"){ st.push(s1+ s2);}
                if(s[i] == "-"){ st.push( s2-s1);}
                if(s[i] == "*"){ st.push( s2*s1);}  
                if(s[i] == "/"){ st.push( s2 /s1);}           
            }
        }

        int ans = st.top();
        st.pop();
        return ans;
    }
};

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

世界级通讯社发稿-法新社海外发稿渠道-大舍传媒

世界级通讯社发稿-法新社海外发稿渠道-大舍传媒 美联社&#xff1a;全球最大的通讯社之一 美联社&#xff08;Associated Press&#xff09;是全球最大的通讯社之一&#xff0c;成立于1846年&#xff0c;总部位于美国纽约。该社拥有一支庞大的全球新闻团队&#xff0c;涵盖了…

x86使用PID模式检测磁盘是否存在--代码实现

磁盘 视频教程以及实际代码可以看这一个教程 ATA PIO Mode - OSDev Wiki 下面的大部分来自这一个网址的翻译 在磁盘的第一个扇区里面可以有4个描述分区的描述符 电脑有两个总线, Primary Bus, Secondary Bus, 这两个都有一个Msater Driver和一个Slave Driver According to t…

Ceph qos 限速

因为1 Mbps 1,000,000 bps rbd_qos_bps_limit、rbd_qos_read_bps_limit和rbd_qos_write_bps_limit都是与RBD&#xff08;Rados Block Device&#xff09;的QoS&#xff08;Quality of Service&#xff0c;服务质量&#xff09;相关的参数&#xff0c;用于限制I/O操作的速率。这…

【EI会议征稿通知】第四届人工智能,大数据与算法国际学术会议 (CAIBDA 2024)

第四届人工智能&#xff0c;大数据与算法国际学术会议 (CAIBDA 2024) 2024 4th International Conference on Artificial Intelligence, Big Data and Algorithms 由河南省科学院、河南大学主办&#xff0c;河南省科学院智慧创制研究所、河南大学学术发展部、河南大学人工智能…

【MATLAB源码-第157期】基于matlab的海马优化算法(SHO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 海马优化器&#xff08;Sea Horse Optimizer, SHO&#xff09;是一种近年来提出的新型启发式算法&#xff0c;其设计灵感来源于海洋中海马的行为模式&#xff0c;特别是它们在寻找食物和伴侣时表现出的独特策略。海马因其独特…

【vue】ant-design弹出框无法关闭和runtimecore提示isFucntion is not function的问题修复

【vue】ant-design弹出框无法关闭和runtimecore提示isFucntion is not function的问题修复&#xff0c;初步分析是vue发布3.4版本以后引起的兼容性问题。 问题截图&#xff1a; 1.isFucntion is not function&#xff0c;是由于vue升级后众多插件版本不匹配造成的问题 2.弹框…

iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践

移动端的自动化测试&#xff0c;最常见的是 Android 自动化测试&#xff0c;我个人觉得 Android 的测试优先级会更高&#xff0c;也更开放&#xff0c;更容易测试&#xff1b;而 iOS 相较于 Android 要安全稳定的多&#xff0c;但也是一个必须测试的方向&#xff0c;这个系列文…

计算机能转嵌入式吗?

我是电气工程转的嵌入式单片机方向。 那是2011年的事了&#xff0c;当时贴吧也是一片哀嚎。 有找不到工作的&#xff0c;也有干了7,8年月薪不过万的。 这么年过去了&#xff0c;如果你仔细观察每个行业&#xff0c;都有一群骂娘的&#xff0c;也一群混得风生水起的。 主要和圈子…

IDEA修改git提交者的信息

git提交后&#xff0c;idea会记录下提交人的信息&#xff0c;如果不修改提交人信息的话&#xff0c;会有一个默认值。避免每次提交都要填提交人信息&#xff0c;直接设置成自己想要的默认值&#xff0c;该怎么操作&#xff1f; 提交的时候在这里修改提交人信息 避免每次都去设置…

显示高考天数倒计时——vba实现

以下代码实现高考倒计时&#xff1a; Sub 高考倒计时() 高考日期 CDate("06,07," & Year(Date)) If Date > 高考日期 Then高考日期 CDate("06-07-" & Year(Date) 1) End If 年月日 Year(Date) & "年" & Month(Date) &am…

【Python】新手入门(5):# -*- coding: UTF-8 -*- 的作用详解

【Python】新手入门&#xff08;5&#xff09;&#xff1a;# -*- coding: UTF-8 -*- 的作用详解 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础…

code: 500 ] This subject is anonymous - it does not have any identifying

项目场景&#xff1a; 相关背景&#xff1a; 使用idea 开发java 项目&#xff0c;前端页面请求 页面中相关的接口时&#xff0c;idea 控制台有报错信息出现&#xff0c;前端请求失败。 问题描述 问题&#xff1a; 使用idea 开发java 项目&#xff0c;前端页面请求 页面中相…

【Linux】磁盘情况、挂载,df -h无法看到的卷

文章目录 解决挂载、解决挂载完重启就消失1、查看linux下的硬盘挂载的空间、使用空间2、查看没有挂载的硬盘是否检测在系统中3、挂载 &#xff08;挂载完&#xff0c;要在/etc/fstab 下面配置挂载信息 要不然重启挂载就消失了&#xff09; 解决挂载、解决挂载完重启就消失 linu…

STP---生成树协议

STP的作用 a)Stp通过阻塞端口来消除环路&#xff0c;并能够实现链路备份目的 b)消除了广播风暴 c)物理链路冗余&#xff0c;网络变成了层次化结构的网络 STP操作 选举一个根桥每个非根交换机选举一个根端口每个网段选举一个指定端口阻塞非根&#xff0c;非指定端口 STP--生成树…

windows11配置电脑IP

windows11配置电脑IP 选择"开始>设置>“网络&Internet >以太网”。在 "属性"下&#xff0c;编辑IP地址&#xff0c;子网掩码&#xff0c;网关以及DNS。

【云原生】kubeadm快速搭建K8s集群Kubernetes1.19.0

目录 一、 Kubernetes 的概述 二、服务器配置 2.1 服务器部署规划 2.2服务器初始化配置 三、安装Docker/kubeadm/kubelet【所有节点】 3.1 安装Docker 3.2 添加阿里云YUM软件源 3.3 安装kubeadm&#xff0c;kubelet和kubectl 四、部署Kubernetes Master 五、部署Kube…

企业对接Walmart平台API流程 On-request Reports API(二)

对接On-request Reports API 1、对接指南1.1 报告生成时间1.2 报告保留期1.3 请求限制1.4 报告请求工作流如何申请报告第 1 步&#xff1a;申请取消报告第 2 步&#xff1a;获取报表可用性状态第 3 步&#xff1a;下载报告 URL 2、代码实现2.1、获取访问API的token2.2、构建公共…

Codeforces Round 932 (Div. 2) --- C. Messenger in MAC --- 题解

C Messenger in MAC 题目大意&#xff1a; 思路解析&#xff1a; 答案计算为 , 可以发现当所选的几个信息固定后&#xff0c;其实后面的一项就变为b_max - b_min&#xff0c;得到了这个结论之后&#xff0c;其实我们可以直接把整个信息按照b进行排序&#xff0c;枚举l,r&am…

Day36 网络概述、IP划分、网络模型

文章目录 网络发展史局域网和广域网局域网&#xff08;LAN&#xff09;广域网&#xff08;Wan&#xff09; 光猫路由器 IP地址基本概念地址划分特殊地址&#xff08;后续编程使用&#xff09;IP地址转换端口字节序 网络模型网络模型OSI模型&#xff08;了解&#xff09;TCP/IP模…

Python中的模块包第三方库详解

模块&包 模块 一个.py文件就是一个模块&#xff0c;里面是一些函数和变量&#xff0c;需要的时候可以导入。 模块命名规范: 1.以英文开头&#xff0c;不出现中文 2.模块名不应与系统内置函数重名 包 包本身就是一个文件夹&#xff0c;如果文件夹内有__init__.py文件&…