20. Valid Parentheses [easy] (Python)

ARINC429协议分析 如下表所示,ARINC429在发送一帧过程中,首先发送以START开始,以END结束,共发送32bits数据,其中0~7bits为Lable数据,9~8bits为SDI数据,10~28bits为数据,29~30bits为SSM,31bit为校验位End30292827262524校验位SSM2322212019181716DATA15141312111098SDI7654321Start。 阅读详情

题目链接

https://leetcode.com/problems/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 but “(]” and “([)]” are not.

题目翻译

给定一个字符串,只包含 '(', ')', '{', '}', '[' 和 ']' 这几个字符,判断输入字符串是否是有效的。
所有的括号必须以正确的顺序闭合,比如 "()" 和 "()[]{}" 是有效的,但 "(]" 和 "([)]" 是无效的。

思路方法

思路一

用栈来操作,将所有的字符依次入栈,当栈顶的括号和正要入栈的括号匹配时将栈顶的括号弹出且不入栈,否则入栈新的括号。最后,只有当栈里没有括号时,才表明输入是有效的。

代码

class Solution(object):
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        pars = [None]
        parmap = {')': '(', '}': '{', ']': '['}
        for c in s:
            if c in parmap and parmap[c] == pars[len(pars)-1]:
                pars.pop()
            else:
                pars.append(c)
        return len(pars) == 1

思路二

实际上,通过观察可以发现:如果正要入栈的是右括号,而栈顶元素不是能与之消去的相应左括号,那么该输入字符串一定是无效的。于是,可以大的加快判断过程。

代码

class Solution(object):
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        pars = [None]
        parmap = {')': '(', '}': '{', ']': '['}
        for c in s:
            if c in parmap:
                if parmap[c] != pars.pop():
                    return False
            else:
                pars.append(c)
        return len(pars) == 1

说明
当然这里使用dict来存放括号的匹配关系不是必要的,直接通过字符之间ascii码的差值判断也是比较快的。

PS: 新手刷LeetCode,新手写博客,写错了或者写的不清楚还请帮忙指出,谢谢!
转载请注明:http://blog.youkuaiyun.com/coder_orz/article/details/51697963

DFT笔记 DC/AC mode与Func DFT scan可以分为DC和AC两种,区别如下图。 阅读详情

相关推荐

汽车软件工程师必看:ASPICE开发流程全解析(附各阶段交付物清单)

本文全面解析了汽车行业广泛采用的ASPICE开发流程,详细介绍了从需求挖掘到系统架构设计、软件工程及测试验证各阶段的关键操作和交付物清单。针对汽车软件工程师,提供了实用的协作指南和工具推荐,帮助团队提升开发效率并降低项目风险,是掌握ASPICE标准的必备指南。

weixin_30733003的博客 638

Valid Parentheses(有效的括号)

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

coldcoffee001的博客 475

WPS JS宏实战:批量调整200个Word表格格式的避坑指南(附完整代码)

本文提供了一份详尽的WPS JS宏实战指南,针对批量调整大量Word表格格式的需求。文章深入解析了如何利用JS宏自动化设置字体、行距和边框,并重点解决了常见的“首行访问报错”等核心难题,附有可直接使用的完整代码,帮助用户显著提升文档处理效率。

weixin_29280219的博客 428

Valid Parentheses基本方法和几种优质解法解析

今天所做的习题是LeetCode20,Valid Parentheses,有很大的收获。 第一个想到的就是利用栈 先从左到右遍历字符串,找到所有的左部放到栈中, 再从右到左遍历字符串,找到所有的右部放到栈中, 之后开始进行匹配 发现不匹配立刻返回FALSE 到一方空了之后 如果另一方也空了就返回TRUE 否则返回FALSE 后来发现这种思路是不对的,因为: ([[]()

yinyanting1的博客 2040

信号完整性入门:为什么工程师总爱用dB来描述衰减?

本文深入探讨了信号完整性分析中工程师偏爱使用dB(分贝)单位描述衰减的原因。dB通过对数转换,将大动态范围的乘除关系简化为加减运算,极大地方便了多级系统分析和链路预算计算。文章重点解释了-3dB点的核心意义,即功率衰减一半的临界状态,并阐述了其在评估信道带宽、插入损耗与回波损耗等关键参数中的实际应用,是高效工程思维和沟通的重要工具。

weixin_29263201的博客 384

条件风险价值CVaR内容介绍(MATLAB例程)

在对微电网优化调度过程中,由于新能源机组出力和负荷的不确定性,若采用确定性的优化调度方案会存在一定的风险。反之,若风电和光伏输出功率的实际值高于预测值时,则需要降低可控机组出力或者弃风弃光,这都会给系统带来运行费用增加的风险。下,损失超过VaR值时的条件均值[1]。VaR是指在一定的置信水平下,某一投资组合在未来某一时间段内的最大损失。为m维决定系统风险损失的随机向量f(y)为y的概率密度函数。式中,m为所有场景的数量,yk为第k个场景下随机变量的值,为第k个场景发生的概率。的最小值即为CVaR,对应的。

贾贾的博客 3057

算法:匹配有效的括号20. Valid Parentheses

说明 算法:Valid Parentheses LeetCode地址:https://leetcode.com/problems/valid-parentheses/ 题目: Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input string is ...

AI架构师易筋 706

深入浅出:大型语言模型(LLM)的全面解读

在当今的数字化时代,人工智能技术已经成为各行各业的核心驱动力之一。而在人工智能的领域中,大型语言模型(LLM)作为一种引人瞩目的技术,正在以其强大的语言理解和生成能力引领着一场革命。本文旨在深入浅出地解读大型语言模型,探讨其背后的原理、技术突破、应用场景以及未来发展趋势。

fudaihb的博客 10万+

Valid Parentheses(括号验证)

package algorithm; import java.util.Stack; /* 原题   Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.   The brackets must close i...

zyzn1425077119的博客 309

063、推挽变换器的磁偏问题与解决

本文针对推挽变换器中的磁偏问题展开分析。作者通过实际案例指出,磁偏主要由开关管导通压降差异和驱动信号不对称引起,会导致变压器饱和、MOS管炸毁等问题。文章提供了四种解决方案:采用电流模式控制、添加隔直电容、优化对称驱动设计以及引入磁芯气隙(作为最后手段)。调试时应重点观察原边电流波形对称性、变压器声音和直流分量。作者强调实践经验的重要性,建议预留隔直电容位置,并指出推挽拓扑在500W以上功率场合的局限性。这些基于实战的经验总结为电源工程师提供了有价值的参考。

Jack010169的博客 310

5G无线关键技术 — 新型传输波形技术和先进编码与调制技术

目录 1、OFDM传输波形技术 2、滤波器组多载波 (Filterbank multicarrier:FBMC) 3、先进编码与调制技术 4、空间调制(Spatial Modulation SM) 5、频率正交幅度调制 1、OFDM传输波形技术 OFDM是当前Wi-Fi和LTE标准中的高速无线通信的主要传信模式。 LTECP配置 子载波间隔 CP长度Tcp 有用符号长度Tu CP比例..

Fanjufei的博客 2126

【小白笔记】有效的括号 (Valid Parentheses)

代码位置作用结果在循环内部发现无效证据(栈空遇右括号或类型不匹配),立即返回False。在循环外部循环结束后,确认没有无效证据,且栈空(所有左括号都已闭合),返回True。

weixin_70325224的博客 917

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

leetcode 20. Valid Parentheses——python(easy)——使用了堆栈

题目来源:                                  https://leetcode.com/problems/valid-parentheses/description/ 题目分析:    本题的含义是给定一个关于括号的字符串,然后判断括号的匹配是否成功。我觉得本题首先理解题意非常重要。首先可以看几个例子:       (((()))           T

revivre的博客 608

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

android 蓝牙通讯demo

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

Leet Code OJ 20. Valid Parentheses [Difficulty: Easy] -python

20.Valid Parentheses [Easy] 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 of brackets. Open brackets m...

渣渣琪的博客 252

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

[leetcode]20. Valid Parentheses ,有效的括号符串python实现【easy】

题目: 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

zl87758539的专栏 994

Leet Code OJ 20. Valid Parentheses [Difficulty: Easy] -- python3

很简单的一道题,考点就是栈的使用,但是题目中有几个陷阱: 考虑空输入 非空输入保证成对,正常顺序出现 非空输入保证出来这几种括号之外没有其他符号的出现 可以加入几个提前判断 是否非空(第一次没有考虑到非空问题所以就wa了) 是不是只含有括号(使用正则表达式) 初步判断是不是成对出现,对长度进行判断。 在做了基本处理之后,本题的重点就变成判断是不是按照顺序出现。如果是‘{(【...

啊_三雨啊的博客 250

20. 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

StudingCoder的博客 316

leetcode 1-100 easy难度题目汇总

主要是考虑到easy题目没什么好分析的, 故统一总结在一篇文章里. 留作记录. 收录leetcode1文章目录1. Two Sum (Easy)7. Reverse Integer (Easy)9. Palindrome Number (Easy)13. Roman to Integer (Easy)14. Longest Common Prefix (Easy)20. Valid Parenth...

Bean771606540的博客 1516

Leetcode#20 Valid Parentheses -Easy

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 of b...

swedishsunset的专栏 169

[LeetCode] 020. Valid Parentheses (Easy) (C++/Java/Python)

[LeetCode] 020. Valid Parentheses (Easy) (C++/Java/Python)

水果君の日常 3867

Leetcode - 20 - Valid Parentheses (easy)

Given a stringscontaining 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 ...

xin_rong的博客 267

[LeetCode]easy - Valid Parentheses - python

Problem Description: Given a stringscontaining 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 b...

weixin_41873294的博客 149

LeetCode算法题之20. Valid Parentheses(easy)

声明: 如标题所示,因本人为AI路上的新手,文章用于辅助个人的整理记忆,理解难免有偏差之处,都是个人拙见,如给其他同僚造成困扰,还请见谅,非常非常非常欢迎私信共同讨论,共同进步 题目描述: Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input str...

DaMoWangZQ的博客 247

[Stack]20. Valid Parentheses, Easy

20

QQ_VV的博客 150

LeetCode小白菜笔记[6]:Valid Parentheses

LeetCode小白菜笔记[6]:Valid Parentheses 20. Valid Parentheses [Easy] 题目:Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. The bracke

VisualCortex 572

Valid Parentheses/easy/day5

题目: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 of br...

u010969088的博客 155
上一篇: 290. Word Pattern [easy] (Python)
下一篇: 58. Length of Last Word [easy] (Python)
coder_orz
博客等级 码龄14年 102粉丝 90原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值