leetcode 20. Valid Parentheses(有效括号)

OpenClaw:深度学习驱动的智能编程工具实战解析 智能编程工具通过深度学习技术革新传统开发流程,其核心在于代码语义理解与实时协作能力。这类工具采用AI代码补全、错误预测等技术,显著降低开发者认知负荷,尤其适用于复杂业务逻辑开发和遗留系统维护场景。以OpenClaw为例,其智能填充和上下文感知功能可提升40%编码效率,减少65%调试时间。关键技术实现包含自然语言处理、代码静态分析等,在金融科技、电商系统等领域具有广泛应用前景。热词提示:代码理解引擎、智能工作流整合展现了当前AI辅助开发的最新趋势。 阅读详情

Given a string s containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.

An input string is valid if:

Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.

Example 1:

Input: s = “()”
Output: true
Example 2:

Input: s = “()[]{}”
Output: true

括号是否匹配的问题。而且字符串s中只有括号,没有其他字符。

思路:
典型的stack问题。
遇到"(", “[”, "{“压栈,遇到“)” “]”, "}"就看栈顶是不是与之对应的括号,出栈,如果这时栈为空或者不匹配,返回false。
最后如果栈为空,说明完全匹配,返回true。

    public boolean isValid(String s) {
        if(s.length() < 2) return false;
        HashMap<Character, Character> map = new HashMap<>();
        Stack<Character> stack = new Stack<>();
        
        map.put('(', ')');
        map.put('[', ']');
        map.put('{', '}');
        
        for(int i = 0; i < s.length(); i ++) {
            char ch = s.charAt(i);
            if(map.containsKey(ch)) {
                stack.push(ch);
            } else {
                if(stack.isEmpty() || 
                   ch != map.get(stack.pop())) return false;
            }
        }
        
        return (stack.isEmpty());
    }

也可以不用map,直接比较各括号,但是会慢一点

    public boolean isValid(String s) {
        if(s.length() < 2) return false;
        Stack<Character> stack = new Stack<>();
        
        for(int i = 0; i < s.length(); i ++) {
            char ch = s.charAt(i);
            if(ch == '(' || ch == '{' || ch == '[') {
                stack.push(ch);
            } else {
                if(stack.isEmpty()) return false;
                char pair = stack.pop();
                if((ch == ')' && pair != '(') || 
                   (ch == ']' && pair != '[') ||
                    (ch == '}' && pair != '{')) return false;
            }
        }
        
        return (stack.isEmpty());
    }

用数组模拟栈会很高效。

    public boolean isValid(String s) {
        int n = s.length();
        int[] st = new int[n];

        int head = -1;

        for(int i = 0; i < n; i++) {
            if(head == -1) {
                st[++head] = s.charAt(i); //if stack.isEmpty(){stack.add(ch)}
                continue;
            }
            char ch = s.charAt(i);
            if(ch == ')') {
                if(st[head] != '(') return false;
                head--;
            } else if(ch == ']') {
                if(st[head] != '[') return false;
                head--;
            } else if(ch == '}') {
                if(st[head] != '{') return false;
                head--;
            } else {
                st[++head] = ch;
            }
        }
        return (head == -1);
    }
单机多环境部署apollo 2.3.0 理解apollo的整体架构后,对比nacos配置中心功能点,其设计的复杂度以及完整度相较nacos而言更为丰富 对于不同的环境,例如 FAT, PRO 在部署时进程已经完全物理隔离,并且每个环境config/adminservice依赖的数据也完全物理隔离(连接不同的db),在数据隔离与安全方面做的很完善,但同时也提升了架构的复杂度 而 portal 可以管理多个环境,单节点部署虽然有单点问题,但并不会影响业务从configservice读取配置, 挂掉只要重启就可以,只是在 阅读详情

相关推荐

simulink中无迹卡尔曼(UKF)模块使用

simulink的UKF模块简单说明

qq_41059950的博客 2819

【LeetCode系列】20 Valid Parentheses 有效括号

题目描述:LeetCode原题地址 Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input string is valid. An input string is valid if: Open brackets must be closed by t...

Olivia_he 175

IBM V3700更换控制器2(503错误)

正常的node1 ,机器代码版本:7.5.0.3, 机器代码构建:115.51.1509171734000。耐心等待后,刷新,看到node2,状态变成 节点状态:服务,错误:656,版本和node1一样了。新换的node2 ,机器代码版本:7.2.0.5, 机器代码构建:87.8.1404221000。耐心等待,刷新,node2,状态看到了,节点状态:活动,错误 724 1 1 0。拔出故障的控制,把内存和HBA卡,电池换到新的控制器。新的控制还是报错无法使用,节点状态:服务 错误:503。

klyshao的博客 4446

leetCode 20 :Valid Parentheses 有效括号

1.题意: * 20.有效的括号 valid Parentheses 括号匹配。 * 给定一个只包括" { ,},[ ],( ) "的字符串,判断字符串是否有效 * 括号必须以正确的顺序关闭,"( )" 和"{} ,(),[ ]" 是有效的但是 * " ([)] " 不是。 2.解题思路: 时间复杂度O(n) 空间复杂度O(n) 1.左括号压栈 ,遇到右...

oDianZi1234567的博客 208

奇迹MU单机版开服全流程:从零搭建到分辨率调整(附GM工具使用技巧)

本文详细介绍了奇迹MU单机版从零搭建到分辨率调整的完整流程,包括环境配置、服务端启动、GM工具使用技巧等关键步骤。特别针对现代高分辨率显示器提供了优化方案,帮助玩家轻松搭建个性化游戏环境,重温经典MMORPG的独特魅力。

b3n4m5q6w7的博客 676

CentOS7下快速修复libssl.so.1.1缺失问题(附腾讯云镜像加速下载)

本文详细介绍了在CentOS7系统中快速修复libssl.so.1.1缺失问题的工程化实践方案。通过编译安装OpenSSL 1.1.x版本、配置动态链接器及创建符号链接等步骤,有效解决共享对象文件缺失问题,并提供了腾讯云镜像加速下载的优化方案,帮助开发者高效部署现代应用。

weixin_33711647的博客 367

【leetCode】20. Valid Parentheses 有效括号序列

描述: Given a string containing just the characters'(',')','{','}','['and']', determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same typ...

zeng1qing2rong3的博客 165

华为OD机试双机位A卷 - 小明减肥 (C++ & Python & JAVA & JS & GO)

华为OD机试2025双机位A卷 小明减肥,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 705

【LeetCode】20 Valid Parentheses 有效括号

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 2: 输入: “()[]{}” 输出: true 示例 3: 输入: “(]” 输出: false 示例 4: 输入: “([...

qq_36269372的博客 141

R语言中的Gamma分布函数

在R语言中,我们可以使用最大似然估计(Maximum Likelihood Estimation,MLE)或最小二乘估计(Least Squares Estimation,LSE)等方法来估计Gamma分布的参数。本文介绍了在R语言中使用Gamma分布函数的基本操作,包括生成随机变量、计算概率密度函数和累积分布函数,以及参数估计和拟合。函数来生成Gamma分布的随机变量,计算概率密度函数(PDF)和累积分布函数(CDF),以及进行参数估计和拟合。要计算Gamma分布的累积分布函数(CDF),我们可以使用。

ByteWhiz的博客 1629

ATECC508A芯片开发笔记(四):自定义配置508功能,规划DataZone数据存储

ATECC508A芯片开发笔记(四):自定义配置508功能,规划DataZone数据存储 508A内部存储区介绍 Data Zone Config Zone 508A Config Zone配置(自定义) - ATECC508A芯片在使用之前,需要自定义配置ConfigZone与DataZone,并同Lock命令将两个区域锁住,否则无法正常使用功能。而一旦锁上就是永久性的,配置区不能够进行解锁

HowieXue 薛永浩的博客 2万+

LeetCode-20:有效括号(Valid Parentheses)

题目链接: https://leetcode.com/problems/valid-parentheses/ 题目描述: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. The brackets ...

Never-Giveup的博客 209

OSError We couldn‘t connect to https://huggingface.co to load file, couldn‘t find it chatglm3-6b解决方案

本文主要介绍了OSError: We couldn’t connect to https://huggingface.co to load this file, couldn’t find it in the cached files and it looks like THUDM/chatglm3-6b is not the path to a directory containing a file named config.json.解决方案,希望能对学习python的同学们有所帮助。

weixin_43178406的博客 5万+

LeetCode20. Valid Parentheses(有效括号)

Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.  The brackets must close in the correct order, “()” and “()[]{}” are all valid bu...

qq_26891141的博客 151

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python Solution LeetCode No.20 Valid Parentheses(有效括号)

题目: 给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例2: 输入: "()[]{}" 输出: true 示例3: 输入: "(]" 输出: false 示例...

一梦如是的博客 245

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【LeetCode_20】有效括号:栈(valid-parentheses)

题目描述:给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意:空字符串可被认为是有效字符串。 示例: 输入: "()" 输入: "(]" 输入: "([)]" 输入: "([])" ...

http_red的博客 237

【LeetCode】 20. Valid Parentheses 有效的括号(Easy)(JAVA)

【LeetCode】 20. Valid Parentheses 有效的括号(Easy)(JAVA) 题目地址: https://leetcode.com/problems/valid-parentheses/ 题目描述: Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine...

qq_16927853的博客 180

LSGO——LeetCode实战(栈系列):20题 有效括号(Valid Parentheses)

原题:给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 解法一:(栈) 如果此时我们遍历的字符是括号的左半部分,那么将字符入栈,如果栈顶元素和此时遍历的元素正好组合成一个括号,则出栈。 最后如果栈为空则返回True,反之,...

小白cvnice的博客 169

LeetCode 20. Valid Parentheses 题解

本题是栈的经典应用问题,主要考察对栈的理解和使用。通过使用栈,我们可以高效地判断一个字符串中的括号是否有效。栈的核心思想是:遇到左括号时压入栈中,遇到右括号时弹出栈顶元素并检查是否匹配。这种方法不仅适用于有效的括号问题,还可以应用于许多其他需要匹配括号的场景。掌握栈的使用,对于解决这类问题非常重要。

cannonjinx的博客 1191

动态规划 Leetcode 32 Longest Valid Parentheses(最长有效括号)

题目 给定一个只包含'('和')'的字符串,找出最长的包含有效括号的子串的长度。 示例1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为"()" 示例2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为"()()" 链接(中文版):https://leetcode-cn.com/problems/longest-valid-parentheses 链接(英文版):https://leetcode.com/problems/longest-...

weixin_39228381的博客 4343

LeetCode第32题思悟——最长有效括号(longest-valid-parentheses)

LeetCode第32题思悟——最长有效括号(longest-valid-parentheses) 知识点预告 栈的使用方法; 长度的计算方法; 数组的妙用; 题目要求 给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-valid-pare...

博采众长,自成一派; 540

Leetcode 32. Longest Valid Parentheses 最长有效括号

Leetcode 32. Longest Valid Parentheses 最长有效括号 标签: Leetcode 题目地址: https://leetcode-cn.com/problems/longest-valid-parentheses/ 题目描述 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(...

CoderWangSon 373

LeetCode解题笔记 - 20. Valid Parentheses

这星期听别人说在做LeetCode,让他分享一题来看看。试了感觉挺有意思,可以培养自己的思路,还能方便的查看优秀的解决方案。准备自己也开始。 解决方案通常有多种多样,我觉得把自己的解决思路记录下来,阶段性查看,一定能对自己有帮助。 这是我做的第一题,所以记录也从这题开始,之后尽力以简短的说明,描述出思路,方便以后能回顾到简介明了的记录。 20. Valid Parenthes...

a541967687的博客 221

LeetCode算法入门- Longest Valid Parentheses -day12

LeetCode算法入门- Longest Valid Parentheses -day12 Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring. 题目描述: 题目的意思是给定一个括号序列...

hongjie_lin 283

Leetcode1-100: 20. Valid Parentheses

Leetcode1-100: 20. Valid Parentheses问题描述解题思路代码实现复杂度分析分析 问题描述 Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type o

Y123iwantit的博客 204
上一篇: leetcode 138. Copy List with Random Pointer(深copy带有random指针的链表)只遍历一遍
下一篇: 详解LK光流法(含金字塔多层光流),反向光流法(附代码)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值