当前位置: 首页 > news >正文

LeetCode20 有效的括号

  1. 题目
    给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:1、左括号必须用相同类型的右括号闭合。
    2、左括号必须以正确的顺序闭合。
    3、每个右括号都有一个对应的相同类型的左括号。

  2. 示例
    示例 1:输入:s = "()"
    输出:true
    示例 2:输入:s = "()[]{}"
    输出:true
    示例 3:输入:s = "(]"
    输出:false

  3. 解题思路
    1. 栈。核心思路是判断括号是否匹配,遍历串,如果是左括号,就先放着等待后面出现的右括号和其匹配。如果是左括号,则取匹配之前暂时存放的左括号,看是否匹配。该逻辑和栈的逻辑一直。可以使用栈进行存储遍历中的左括号,栈是先进先出,先放进的后匹配,后放进的先匹配,保证了匹配右括号的顺序。
  4. 代码(Java)
    // 方法一
    import java.util.Stack;
    class Solution {public boolean isValid(String s) {if (s == null || s.length() == 0) {return true;}if (s.length() % 2 == 1) {return false;}Stack<Character> stack = new Stack<>();for (int i = 0; i < s.length(); i++) {char c = s.charAt(i);if (c == '(' || c == '[' || c == '{') {stack.push(c);} else {if (stack.isEmpty()) {return false;}char cpop = stack.pop();if (!(cpop == '(' && c == ')' || cpop == '[' && c == ']' || cpop == '{' && c == '}')) {return false;}}}return stack.isEmpty() ? true : false;}
    }

相关文章:

LeetCode20 有效的括号

题目 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。有效字符串需满足&#xff1a;1、左括号必须用相同类型的右括号闭合。 2、左括号必须以正确的顺序闭合。 3、每个右括号都有一个对应的相…...

sql实战_基于某推荐比值问题

将一个月内某PL对应的MBLX出现的最高的频次的占比值最大的值统计出来&#xff0c;并且还要把XHLX&#xff0c;MBLX字段添加上作为最终的推荐字段 Select * from(select *,row_number( ) over (partition by PL order by 占比最大值 desc ) rn from 表) where rn 1&#xff1b…...

协议的概念+本质+作用+最终表现形式,网络问题(技术+应用+解决的协议+存在原因),主机的对称性

目录 协议 概念 示例 -- 摩斯密码 介绍 作用 协议的本质 作用 网络问题 引入 技术问题 应用问题 主机的对称性 问题对应的协议 问题出现的原因 理解协议(代码层面) 举例 -- 快递单 协议的最终表现形式 协议被双方主机认知的基础 协议 概念 协议是在计算机通信…...

iOS中卡顿产生的主要原因及优化思路

卡顿本质上是一个UI体验上的问题&#xff0c;而UI的渲染及显示&#xff0c;主要涉及CPU和GPU两个层面。若 CPUGPU渲染耗时超过16.7ms&#xff0c;就会在屏幕vsync信号到来时无法更新屏幕内容&#xff0c;进而导致卡顿。 iOS中UI渲染主要包含Layout->Draw->Prepare->Co…...

spring boot集成Elasticsearch 7.16.3

环境&#xff1a;Elasticsearch 版本 7.16.3 Elasticsearch for windows下载地址 windows 若依 spring boot版本 2.6.0 pom文件添加 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch<…...

HTML5+CSS3小实例:环绕小球弹性loading动画

实例:环绕小球弹性loading动画 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge&quo…...

SpringBoot 自定义注解实现操作日志记录

文章目录 前言正文一、项目结构介绍二、核心类2.1 核心注解2.1.1 CLog 日志注解2.1.2 ProcessorBean 处理器bean 2.2 切面类2.3 自定义线程池2.4 工具类2.4.1 管理者工具类 2.5 测试2.5.1 订单创建处理器2.5.2 订单管理者2.5.3 订单控制器2.5.4 测试报文2.5.5 测试结果 附录1、…...

ubuntu常见配置

ubuntu各个版本的安装过程大差小不差&#xff0c;可以参考&#xff0c;ubuntu20.04 其它版本换一下镜像版本即可 安装之后需要配置基本的环境&#xff0c;我的话大概就以下内容&#xff0c;后续可能有所删改 sudo apt-get update sudo apt-get install gcc sudo apt-get inst…...

electron+vue3全家桶+vite项目搭建【27】封装窗口工具类【1】雏形

文章目录 引入思路抽出公共声明文件抽出全局通用数据类型和方法主进程模块1.抽离基础常量2.封装窗口工具类 渲染进程模块测试结果 引入 demo项目地址 可以看到我们之前在主进程中的逻辑全部都塞到index.ts文件中&#xff0c;包括窗口的一些事件处理&#xff0c;handle监听&am…...

从模型到复合AI系统的转变

2023年,大型语言模型(LLM)吸引了所有人的注意力,它可以通过提示来执行通用任务,例如翻译或编码。这自然导致人们将模型作为AI应用开发的主要成分而密切关注,所有人都在想新的LLM将带来什么能力。然而,随着越来越多的开发者开始使用LLM构建,我们认为这种关注正在迅速改变:最先进…...

将仓库A中的部分提交迁移到仓库B中

结论&#xff1a; 使用git format-patchgit am即可实现 使用场景&#xff1a; 例如仓库A这里有5个提交记录&#xff0c;commitid1, commitid2, commitid3, commitid4&#xff0c;commitid5 仓库B想用仓库A中提交的代码&#xff0c;手动改比较慢&#xff0c;当改动较多的时候…...

信息安全技术基础

本博客地址&#xff1a;https://security.blog.csdn.net/article/details/136331705 一、信息安全基础 1、信息安全的基本要素有机密性、完整性、可用性、可控性与可审查性。信息安全的范围包括设备安全、数据安全、内容安全和行为安全。其中数据安全即采取措施确保数据免受未…...

flask知识--01

flask介绍 # python 界的web框架&#xff1a; Django&#xff1a;大而全&#xff0c;使用率较高 &#xff1a;https://github.com/django/django -FastAPI&#xff1a;新项目选择使用它&#xff1a;https://github.com/tiangolo/fastapi -flask&#xff1a;公司一些…...

软考52-上午题-【数据库】-关系模式2

一、关系模式的回顾 见&#xff1a;软考38-上午题-【数据库】-关系模式 二、关系模式 2-1、关系模式的定义 示例&#xff1a; 念法&#xff1a;A——>B A决定B&#xff0c;或者&#xff0c;B依赖于A。 2-2、函数依赖 1、非平凡的函数依赖 如果X——>Y&#xff0c;&a…...

devc++跑酷小游戏3.5.0

本来想搞存档的&#xff0c;失败了&#xff0c;要再学学文件操作的函数。还有一个打印地图的函数&#xff0c;更失败&#xff0c;彻底放弃。最近开学了&#xff0c;游戏不会经常更新&#xff0c;要写作业。昨天写到10点T_T #include<bits/stdc.h> #include<windows.h…...

Redisson限流算法

引入依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.12.3</version> </dependency>建议版本使用3.15.5以上 使用 这边写了一个demo示例&#xff0c;定…...

GPT与MBR:硬盘分区表格式的革新与区别

概述 在计算机存储领域&#xff0c;硬盘分区是管理数据和操作系统部署的基础。两种广泛使用的分区表格式——MBR&#xff08;Master Boot Record&#xff09;和GPT&#xff08;GUID Partition Table&#xff09;&#xff0c;各自代表了不同的技术阶段和发展需求。本文将详细介…...

机器学习-1

文章目录 前言机器学习基本定义 练习题 前言 在本片开始将为大家介绍机器学习相关的知识点。 机器学习基本定义 夏天&#xff0c;我们通常会去水果店里买西瓜&#xff0c;我们看到一个根蒂蜷缩、敲起来声音浑浊的青绿色的西瓜&#xff0c;我们提着西瓜就去结账了&#xff0c;…...

Stream流详解

当我们对一个集合中的元素进行多次过滤应该怎样做? 下面看一个案例 按照下面的要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素 把集合中所有以"张"开头的元素存储到一个新的集合 把"张"开头的集合中的长度为3的元素存储到一个新…...

javaweb学习(day05-TomCat)

一、介绍 1 官方文档 地址: https://tomcat.apache.org/tomcat-8.0-doc/ 2 WEB 开发介绍 2.1 WEB 在英语中 web 表示网/网络资源(页面,图片,css,js)意思&#xff0c;它用于表示 WEB 服务器(主机)供浏览器访问的资源 2.2 Web 资源 WEB 服务器 ( 主机 ) 上供外界访问的 …...

别再为数据采集发愁了!用这个桥接器,5分钟搞定三菱FX3U PLC的ModbusTCP通讯

工业现场通讯革命&#xff1a;三菱FX3U PLC的ModbusTCP极简配置指南 在自动化产线的调试现场&#xff0c;时间就是成本。当项目总监要求你在两小时内将老旧的FX3U PLC数据接入MES系统时&#xff0c;传统方案需要重写PLC程序、配置专用模块&#xff0c;甚至可能面临硬件改造——…...

数字IC设计中的TCL实战:用列表操作实现引脚自动排序

数字IC设计中的TCL实战&#xff1a;用列表操作实现引脚自动排序 在数字集成电路设计流程中&#xff0c;处理海量引脚信息是每位工程师的日常挑战。当面对数百个需要按特定规则排序的引脚时&#xff0c;手动操作不仅效率低下&#xff0c;还容易引入人为错误。TCL脚本作为EDA工具…...

用51单片机和Proteus 8.10做个光照报警器:从仿真到实物,手把手带你复现(附完整代码和原理图)

51单片机光照报警器实战指南&#xff1a;从Proteus仿真到硬件落地的全流程解析 在物联网和智能家居快速发展的今天&#xff0c;环境监测设备的DIY制作成为电子爱好者入门的经典项目。其中&#xff0c;基于51单片机的光照报警器因其硬件简单、原理清晰&#xff0c;特别适合作为初…...

如何轻松将 VCF 文件导入Android (已解决)

如果您曾经更换过Android手机或需要迁移联系人&#xff0c;您一定知道将联系人列表带过来有多么重要。VCF&#xff08;vCard&#xff09;文件是存储联系人信息的常用格式&#xff0c;将其导Android设备也相对简单。本文将介绍四种将VCF文件导Android的有效方法。第一部分&#…...

StreamFX终极指南:如何在5分钟内为OBS添加专业级视频特效

StreamFX终极指南&#xff1a;如何在5分钟内为OBS添加专业级视频特效 【免费下载链接】obs-StreamFX StreamFX is a plugin for OBS Studio which adds many new effects, filters, sources, transitions and encoders! Be it 3D Transform, Blur, complex Masking, or even cu…...

R语言时序分析实战:从ACF/PACF图到ARIMA模型定阶

1. 时序分析入门&#xff1a;为什么需要ACF/PACF图&#xff1f; 当你拿到一组时间序列数据时&#xff0c;第一反应可能是直接扔进ARIMA模型里跑结果。但就像医生不能只看症状就开药一样&#xff0c;数据分析师也需要先"把脉"——这就是ACF&#xff08;自相关函数&…...

直线电机在 OLED 精细金属掩模板(FMM)中的精密应用

在高端 OLED 显示面板迈向高分辨率、大尺寸、超高清的今天&#xff0c;像素精度已成为决定屏幕画质的核心竞争力。而在 OLED 蒸镀工艺中&#xff0c;精细金属掩模板&#xff08;FMM&#xff09; 正是定义像素边界、决定成像品质的 “关键心脏”&#xff0c;也是显示行业公认的技…...

从“精读”到“泛用”:构建个人专属的英语学习策略体系

1. 为什么传统英语学习方法总是失效&#xff1f; 我见过太多人抱着厚厚的单词书从A背到Z&#xff0c;结果三个月后连"abandon"都拼不全。也遇到过每天刷两小时语法题的同学&#xff0c;碰到外国同事打招呼却只能挤出"Fine, thank you"。问题出在哪&#xf…...

【Windows】告别第三方工具:5个原生系统命令深度清理磁盘空间

1. Windows系统垃圾的真相与清理必要性 每次打开电脑&#xff0c;系统都在后台默默产生大量临时文件。这些文件就像厨房里的油污&#xff0c;刚开始不明显&#xff0c;积累多了就会拖慢整个系统的运行速度。我见过不少用户的C盘莫名其妙就红了&#xff0c;打开一看&#xff0c;…...

ESP32安全启动配置避坑指南:从生成密钥到烧录固件的完整流程

ESP32安全启动配置避坑指南&#xff1a;从生成密钥到烧录固件的完整流程 在嵌入式开发领域&#xff0c;设备安全越来越受到重视。ESP32作为一款广泛应用的物联网芯片&#xff0c;其安全启动功能为固件提供了重要的保护机制。但配置过程中稍有不慎&#xff0c;就可能让设备变成&…...