Leetcode | 有效的括号、最长有效括号

news/2024/12/22 12:23:22/

一、有效的括号

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"
输出:true

示例 2:

输入:s = "()[]{}"
输出:true

示例 3:

输入:s = "(]"
输出:false

提示:

  • 1 <= s.length <= 104
  • s 仅由括号 '()[]{}' 组成

 

class Stack:def __init__(self):self.items=[]def isEmpty(self):return self.items==[]def push(self,item):self.items.append(item)def pop(self):return self.items.pop()def peek(self):return self.items[len(self.items)-1]def size(self):return len(self.items)def parChecker(symbolString):s=Stack()index=0balanced=Truep="([{"q=")]}"if len(symbolString)>1:while index < len(symbolString) and balanced:ls = symbolString[index]if ls in p:s.push(ls)else:if s.size()!=0:t = s.pop()if p.index(t) == q.index(ls):balanced = Trueelse:balanced = Falseelse:balanced=Falseindex = index + 1if balanced and s.isEmpty():return "true"else:return "false"else:return Falseif __name__=="__main__":s=input("")print(parChecker(s))

 二、最长有效括号

给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。

示例 1:

输入:s = "(()"
输出:2
解释:最长有效括号子串是 "()"
示例 2:

输入:s = ")()())"
输出:4
解释:最长有效括号子串是 "()()"
示例 3:

输入:s = ""
输出:0

提示:

0 <= s.length <= 3 * 104
s[i] 为 '(' 或 ')'

 


http://www.ppmy.cn/news/1023108.html

相关文章

vue中v-bind和v-model的区别

v-bind和v-model是Vue.js中的两个常用指令&#xff0c;它们在功能和用途上有一些区别。 v-bind指令&#xff08;或简写为:&#xff09;用于动态绑定数据到HTML属性(不是双向的)。它允许您将Vue实例的数据绑定到HTML元素的属性上&#xff0c;并根据数据的变化动态更新属性的值。…

【链表OJ 5】合并两个有序链表

前言: &#x1f388;欢迎大家来到Dream_Chaser&#xff5e;的博客&#x1f388; 本文收录于 C--数据结构刷题的专栏中 -->http://t.csdn.cn/n6UEP 首先欢迎大家的来访&#xff0c;其次如有错误&#xff0c;非常欢迎大家的指正&#xff01;我会及时更正错误&#xff01; 目录…

【Spring专题】Bean的声明周期流程图

前言 我向来不主张【通过源码】理解业务&#xff0c;因为每个人的能力有限&#xff0c;甚至可能会因为阅读错误导致出现理解上的偏差&#xff0c;所以我决定&#xff0c;还是先帮大家【开天眼】&#xff0c;先整体看看流程图&#xff0c;好知道&#xff0c;Spring在写源码的过…

QT中的PRO文件怎么进行相关的信息的注释?

小白学开发之QT下的PRO文件怎么进行注释&#xff0c;以及Pro文件的作用 Hello大家好&#xff0c;这里是程序员小白学开发&#xff0c;我是一个刚入门QT的初学者&#xff0c;晕乎晕乎的&#xff01;希望能够随时随地将自己所学的知识分享给大家&#xff0c;带着大学从零基础开始…

SpringBoot复习:(29)静态资源的配置路径

WebMvcAutoConfiguration 首页处理&#xff1a;

探索APP界面布局的艺术与技巧:从入门到精通

引言 在当今数字化时代&#xff0c;移动应用程序&#xff08;APP&#xff09;成为人们生活中不可或缺的一部分。而一个成功的APP界面布局是吸引用户、提升用户体验的关键因素之一。本文将带您深入探索APP界面布局的艺术与技巧&#xff0c;从入门到精通&#xff0c;让您能够轻松…

windows10中配置mmhuman3d

分类&#xff1a;动作捕捉 github地址&#xff1a;https://github.com/open-mmlab/mmhuman3d 所需环境&#xff1a;Windows10&#xff0c;CUDA11.6&#xff0c;conda 4.13.0&#xff0c;Visual Studio 2017 目录 一.新建Pytorch基本环境1.创建并激活环境2.安装ffmpeg3.安装 PyT…

项目-ESP32获取图像并通过TFT-1.44寸屏显示

一. 视频展示 ESP32录像TFT-1.44寸屏显示图像 二. 所需器件工具 1.ESP32-CAM开发板。开发板购买链接 2.TFT-1.44寸屏。TFT-1.44寸屏购买链接 三. 完整代码 代码下载链接&#xff1a;https://download.csdn.net/download/qq_26043945/88205276