首页 > 编程语言 >20. 有效的括号C++

20. 有效的括号C++

时间:2024-01-18 15:34:14浏览次数:34  
标签:20 int C++ else 括号 flag empty

括号匹配用栈是解决是最简单那的。

遇到左括号就入栈。遇到右括号就出栈,然后看是否匹配。这里再用一个map把括号数字化会更简单。

class Solution {
public:
    bool isValid(string s) {
        map<char,int> m={
            {'(',1},{')',-1},
            {'{',2},{'}',-2},
            {'[',3},{']',-3}
    };
    int flag =1;
    stack<int> a;
        for(int i =0 ;i<s.size();i++){
            int t=m[s[i]];
            if(t>0){
                a.push(t);
            }else{
                if(a.empty()){
                    flag=0;
                    break;
                }else{
                    int x=a.top()+t;
                    if(x!=0){
                        flag=0;
                        break;
                    }
                    a.pop();
                }
            }
        }
        if(!a.empty()) flag=0;
        if(flag){
            return true;
        }else{
            return false;
        }
    }
};

第一次写leetcode有点不适应。

结果:

标签:20,int,C++,else,括号,flag,empty
From: https://www.cnblogs.com/llllmz/p/17972588

相关文章

  • 关于2023分子植物育种大会随笔记录与思考
    目录智能育种转基因基因编辑育种实践2023年底分子植物育种大会在成都举行,会后要点胡乱记录之。有些来自嘉宾观点,有些是个人思考,杂糅一起,仅供参考。智能育种分子设计育种:形态、生理、基因、等位基因、单倍型、基因组区段、通路、网络、表观组。统言之,生物相关分子皆可设计。科迪华玉......
  • KY109 Zero-complexity TranspositionC++
    h很简单的题目,不管是用数组还是用栈都非常简单。#include<iostream>#include<stack>usingnamespacestd;intmain(){intn;while(cin>>n){stack<long>s;while(n!=0){inttem;cin>>tem;......
  • 23 年来首次,C# 荣获 TIOBE 2023 年度编程语言
    IT之家 1月8日消息,TIOBE 编程社区指数是一个衡量编程语言受欢迎程度的指标,评判的依据来自世界范围内的工程师、课程、供应商及搜索引擎。2024年1月TIOBE指数于近日发布,同时官方公布了2023年编程语言排名,C#荣获TIOBE2023年度编程语言,这是23年来C#首次拿下这一荣......
  • 省选2023游记
    Day0试机打了SA和点分树,晚上打了2021省选签到冰火战士,然后奶明天不会考字符串。Day1秒了签到后就处于十分痛苦的状态,想了很久T2毫无头绪,甚至一度只会\(2^m\),不知想了多久终于看出可以枚举点集。去看T3,感觉很像费用流,以为是模拟费用流,但我对这东西知之甚少,突然发现暴力......
  • 恒驰喜讯荣获华为云优秀服务伙伴奖!华为云生态大会2024开启联合解决方案新篇章
    1月15日-16日,以“领航新开局,共赢新生态”为主题的华为云生态大会2024在华为云贵安数据中心·云上屯隆重启幕。华为云和全国生态伙伴、开发者,在新年伊始,共同见证华为云生态战略的新进展、伙伴政策的新升级,分享源自优秀生态伙伴的标杆案例和心得,探讨如何继续发挥生态力量,打造数智时代......
  • [工程题] THUSC 2023 Day2 奋斗四小时,手搓 CPU
    https://www.luogu.com.cn/contest/110331https://www.luogu.com.cn/team/44709#problem可以在https://www.luogu.com.cn/problem/T335306下载manual.pdf,在https://www.luogu.com.cn/problem/T335313下载statement.pdf和simulator.cpp。组合逻辑电路部分此部分的要求详......
  • 2024-01-17
    所谓滑动窗口就是不断移动子序列的起始位置和终止位置,从而得到我们想要的结果。Integer.MAX_VALUE表示int数据类型的最大取值数:2147483647Integer.MIN_VALUE表示int数据类型的最小取值数:-2147483648力扣-滑动窗口-904:找出至多包含两种元素的最长子串,返回其长度classSolutio......
  • 梦幻内存!全何为AMD撕裂者打造192GB DDR5-7200
    1月16日消息,全何科技(V-Color)宣布,面向AMD锐龙线程撕裂者7000系列处理器,推出顶级的192GBDDR5内存套装,频率最高可达7200MHz。AMD撕裂者7000系列支持四通道DDR5内存,单系统可以插四根,虽然不及撕裂者PRO7000系列的八通道,但在消费级领域也是无敌的存在。全何新内存采用精选的SK海......
  • 2024年1月中国数据库排行榜: OPOT 组合续写贺新年,达梦、腾讯发力迎升势
    2024年开局,墨天轮中国数据库流行度排行火热出炉,292个国产数据库齐聚榜单。整体来看,榜单前十整体变化不大,“O-P-O”格局稳固,前五位名次未发生变动。但新年伊始,各家数据库热度上升迅猛,分数差距也逐渐缩小,这微妙的波动折射出激烈的竞争态势,行业内涌动充分活力。本月排行榜解读文章......
  • (Python)每日代码||2024.1.18
    m=10a=10print(id(m))print(id(a))'''输出140713874176728140713874176728'''print()a=1b=2c=3d=a+bprint('a(1)\t'+str(id(a)))print('b(2)\t'+str(id(b)))print('c(3)\t'+str(id......