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

leetcode 20.有效括号

20. 有效的括号 - 力扣(LeetCode)

class Solution:def isValid(self, s: str) -> bool:stack = []for  i in s :if i  in ('(','{','[' ):stack.append(i)elif i in (')' ):# 这种情况是 栈弹出元素为空时候 ,右半部分的括号多出来一些 比如: [()]} if not stack:return Falsetemp=stack.pop()if temp !='(':return False elif i in('}'):if not stack:return Falsetemp=stack.pop()if temp !='{':return False elif i in(']'):if not stack:return Falsetemp=stack.pop()if temp !='[':return False if stack:  # 这种情况是,右半部分的括号全部匹配结束后, 栈元素还有剩余( 即左括号多了一部分) return Falsereturn True       

代码随想录中的 先 强行匹配 做了映射对应关系,  然后再判断映射的右半部分 是不是 符合真实的右侧部分的信息 ,

class Solution:def isValid(self, s: str) -> bool:stack = []for  i in s :# if i  in ('(','{','[' ):#     stack.append(i)if i == '(':stack.append(')')elif i== '[':stack.append(']')elif i == '{':stack.append('}')# elif i in (')' ):#     # 这种情况是 栈弹出元素为空时候 ,右半部分的括号多出来一些 比如: [()]} #     if not stack:#         return False#     temp=stack.pop()#     if temp !=i:#         return False # elif i in('}'):#     if not stack:#         return False#     temp=stack.pop()#     if temp !=i:#         return False # elif i in(']'):#     if not stack:#         return False#     temp=stack.pop()#     if temp !=i:#         return False else:if not stack:return Falsetemp=stack.pop()if temp !=i:return False if stack:  # 这种情况是,右半部分的括号全部匹配结束后, 栈元素还有剩余( 即左括号多了一部分) return Falsereturn True       

相关文章:

leetcode 20.有效括号

20. 有效的括号 - 力扣(LeetCode) class Solution:def isValid(self, s: str) -> bool:stack []for i in s :if i in ((,{,[ ):stack.append(i)elif i in () ):# 这种情况是 栈弹出元素为空时候 ,右半部分的括号多出来一些 比如&#x…...

【杂记三】Cython加速模块cython_nms未编译

一、问题 from cython_nms import nms as cnms ModuleNotFoundError: No module named cython_nms Github download 需要生成如下的 二、安装编译编译安装 cython_nms 1. 确保已经安装了 Cython conda activate your-env pip install cython2. 编译编译 cython_nms 进入编译…...

LeetCode(977):有序数组的平方

有序数组的平方 题目链接 题目&#xff1a;给你一个按非递减顺序排序的整数数组 nums&#xff0c;返回每个数字的平方组成的新数组&#xff0c;要求也按非递减顺序排序。 //暴力 #include<stdio.h> void sort(int *nums,int n){for(int i0;i<n;i)for(int ji1;j<…...

订票系统|基于Java+vue的火车票订票系统(源码+数据库+文档)

订票系统目录 基于Springbootvue的火车票订票系统 一、前言 二、系统设计 三、系统功能设计 1会员信息管理 2 车次信息管理 3订票订单管理 4留言板管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍…...

「Unity3D」使用C#获取Android虚拟键盘的高度

原理是&#xff1a;利用getWindowVisibleDisplayFrame方法&#xff0c;获取Android窗口可见区域的Rect&#xff0c;这个Rect剔除了状态栏与导航栏&#xff0c;并且在有虚拟键盘遮挡的时候&#xff0c;会剔除这个遮挡区域。 接着&#xff0c;Unity的safeArea也剔除了状态栏与导…...

近场通信(NFC)在电动车启动系统中的技术实现路径

电动车NFC一键启动系统基于13.56MHz频段实现非接触控制&#xff0c;技术方案要点如下&#xff1a; ‌系统架构‌ ‌硬件核心‌ NFC芯片&#xff08;如N32G45x&#xff09;处理通信协议&#xff0c;支持手机/卡片识别STM32主控解析指令&#xff0c;AES-128加密模块保障双向认证…...

斜线、短横、空格,三种分隔日期的优雅解析(Python | DeepSeek)

标准日期解析操作&#xff0c;str.replace链式如灵蛇蜿蜒&#xff0c;三元表达式像空灵仙家妙法。 笔记模板由python脚本于2025-03-25 22:32:24创建&#xff0c;本篇笔记适合三元表达式、字符串操作修习的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值&#xff1a;在…...

自动化逆向框架使用(Objection+Radare2)

1. 工具链架构与核心优势 1.1 动静结合逆向体系 graph LR A[动态分析] -->|Objection实时Hook| B[关键点定位] B --> C[行为数据捕获] D[静态分析] -->|Radare2深度解析| E[控制流重建] E --> F[漏洞模式识别] B --> F C --> F 组合优势对比&…...

inline 配置全局参数变量

在 C 中&#xff0c;对于头文件中定义的全局变量&#xff0c;使用 inline 比 static 更优&#xff0c;主要原因如下&#xff1a; 1. 避免重复定义的多个副本 static 的问题 每个包含该头文件的 .cpp 都会生成一个独立的变量副本&#xff0c;导致&#xff1a; 内存浪费&#xf…...

(C语言)静态通讯录(正式版)(C语言小项目)

1.首先是头文件&#xff1a; //头文件 //contact.h//防止头文件被重复包含 #pragma once //定义符号常亮&#xff0c;方便维护和修改 //联系人基本信息容量 #define NAME_MAX 20 #define AGE_MAX 5 #define SEX_MAX 5 #define TELE_MAX 15 #define ADDR_MAX 30 //联系人最大容量…...

Windows 计划任务服务(Task Scheduler)

svchost.exe -k netsvcs -p -s Schedule 是 Windows 计划任务服务&#xff08;Task Scheduler&#xff09; 的标准启动命令&#xff0c;通常用于管理系统定时任务。以下是详细解析&#xff1a; 命令拆解 svchost.exe Windows 核心进程&#xff0c;用于托管系统服务&#xff08;…...

[特殊字符] 2025蓝桥杯备赛Day13——P10984 [蓝桥杯 2023 国 Python A] 残缺的数字

&#x1f50d; 2025蓝桥杯备赛Day13——P10984 [蓝桥杯 2023 国 Python A] 残缺的数字 &#x1f680; 题目速览 题目难度&#xff1a;⭐⭐⭐&#xff08;需掌握位运算与组合数学&#xff09; 考察重点&#xff1a;二进制状态处理、位运算、乘法原理、枚举 P10984 [蓝桥杯 2…...

线程控制与线程库

目录 解析tid 线程的地址空间布局 线程栈 我们来学习线程控制与线程库 解析tid #include<iostream> #include<string> #include<cstdio> #include<cstring> #include<unistd.h> #include<thread> using namespace std;int shared_val…...

P1182 数列分段 Section II

P1182 数列分段 Section II - 洛谷 题目描述 对于给定的一个长度为 N 的正整数数列 A1​∼AN​&#xff0c;现要将其分成 M&#xff08;M≤N&#xff09;段&#xff0c;并要求每段连续&#xff0c;且每段和的最大值最小。 关于最大值最小&#xff1a; 例如一数列 4 2 4 5 1…...

比手动备份快 Iperius全自动加密备份,NAS/云盘/磁带机全兼容

IperiusBackupFull是一款专为服务器和工作站设计的备份解决方案&#xff0c;它同时也是一款针对Windows 7/8/10/11/Server系统的简洁且可靠的备份软件。该软件支持增量备份、数据同步以及驱动器镜像&#xff0c;确保能够实现完全的系统恢复。在备份存储方面&#xff0c;Iperius…...

从概率到梯度:理解分类问题中交叉熵的优越性

分类问题一般使用交叉熵&#xff08;Cross-Entropy&#xff09;而不是平方损失&#xff08;Square Loss&#xff09;函数1. **概率解释**2. **梯度性质**3. **对错误的惩罚**4. **计算复杂度**5. **总结** 分类问题一般使用交叉熵&#xff08;Cross-Entropy&#xff09;而不是平…...

2025最新版Ubuntu Server版本Ubuntu 24.04.2 LTS下载与安装-详细教程,细致到每一步都有说明

官网 https://ubuntu.com/ 下载 点击菜单 Prodercts> Ubuntu OS>Ubuntu Server 点击下载 下载后会有个弹窗 安装 选择第一个 install Ubuntu Server 直接默认&#xff0c;选择English 【默认】 选择键盘布局【默认】 选择安装配置【默认】 配置网络 我这里选择…...

更新测试环境构建命令以解决构建失败问题

本段代码解决 更新测试环境构建命令以解决构建失败问题 //本项目是reactumi3antdesign 搭建的后台管理系统 "build:test": "cross-env UMI_ENVtest NODE_OPTIONS--openssl-legacy-provider umi build"**原因&#xff1a;**Node.js v17 的 OpenSSL 3.0 与旧…...

C 语言中, scanf 函数在哪些情况下会结束输入读取:

在 C 语言中&#xff0c; scanf 函数在以下几种情况下会结束输入读取&#xff1a; &#xff1a; 1. 遇到指定格式匹配失败&#xff1a; scanf 按照格式字符串要求读取输入。当输入数据格式与格式字符串不匹配时&#xff0c;就会结束读取。例如 scanf(“%d”, &num) 要求输…...

树莓派5-GPIO和40针引脚

1.树莓派5引脚图 2.GPIO 引脚作用 (1) 电压 板上有两个 5V 引脚和两个 3.3V 引脚&#xff0c;以及一些不可配置的接地引脚 (0V)。其余引脚均为通用 3.3V 引 脚&#xff0c;这意味着输出设置为 3.3V&#xff0c;输入可接 3.3V。 (2) 输出 指定为输出引脚的 GPIO 引脚可设置为…...

【数据库】sql错题详解

1. 执行子查询 SELECT 供应商号 FROM 订购单 WHERE 职工号 IN (E1, E3) GROUP BY 供应商号 HAVING COUNT(DISTINCT 职工号) 2筛选职工号为 E1 或 E3 的记录&#xff1a; 依据 WHERE 职工号 IN (E1, E3) 这个条件&#xff0c;从 订购单 表中把职工号为 E1 或者 E3 的记录筛选出…...

搭建主从DNS、nfs、nginx

任务需求&#xff1a; 客户端通过访问 www.nihao.com 后&#xff0c;能够通过 dns 域名解析&#xff0c;访问到 nginx 服务中由 nfs 共享的首页文件&#xff0c;内容为&#xff1a;Very good, you have successfully set up the system. 各个主机能够实现时间同步&#xff0c;…...

C#重写treeView控件

1.先准备两张图片downdrop.png、downdrop_open.png放在项目Resources里 2.新建用户控件BaseTreeView控件 3.重写控件继承TreeView&#xff0c;记得删除AutoScaleMode这一行&#xff0c;否则会报错 public partial class BaseTreeView : TreeView {//这个属性貌似不起作用&…...

JS自动装箱(Auto-boxing)机制深度解析

&#x1f4e6; JS自动装箱(Auto-boxing)机制深度解析 自动装箱&#xff08;Autoboxing&#xff09; 是 JavaScript 的一项特性 &#x1f31f; 核心概念速览 自动装箱 原始值临时变身对象 当对原始值调用方法或访问属性时&#xff0c;JS 引擎会自动将其转换为对应的包装对象&…...

ArcGIS 10.8.1之后发布栅格数据的MapServer 动态工作空间 替换数据源渲染问题

背景 经过测试&#xff0c;Server 10.8.1、11.0、11.1发布相关服务设置动态空间之后&#xff0c;前端都无法自动读取同名的clr色彩映射表文件进行渲染&#xff0c;服务都是由ArcGIS Pro进行发布。 原因 基于ArcMap发布的服务才支持&#xff0c;但是10.8.1之后不支持ArcMap发…...

Java集合框架深度剖析:从数据结构到实战应用

引言 Java集合框架是Java开发中的核心组件之一&#xff0c;其设计目标是提供高性能、高复用性的数据容器。无论是数据处理、缓存设计还是高并发场景&#xff0c;集合框架都扮演着关键角色。本文将从List、Map、Set三大核心接口出发&#xff0c;深入剖析其主流实现类&#xff0…...

【MySQL】监控MySQL

目录 使用状态变量监控MySQL 使用性能模式&#xff08;Performance Schema&#xff09;监控MySQL 1.性能模式 2.性能模式设置表 3.sys模式 使用状态变量监控MySQL 使用 show status 语句评估系统运行状况。 可以添加范围修饰符global或session来显示全局或本地状态信息。…...

涅槃上岸,入陕进军,复试全程流程开启!

复试决胜局&#xff0c;整装待发&#xff0c;上岸西电&#xff01; 线下复试注意事项、全流程、录取后西安旅游提前告知&#xff01; 过两天考研复试笔试、机试&#xff08;如果有&#xff09;、面试就要开始了&#xff0c;我们需要准备很多东西&#xff0c;学长从以下几个方面…...

msyql--基本操作之运维篇

检查 root 用户的权限 查看该用户针对这个数据库的权限 -- 如果在终端连接mysql时需要 mysql -u root -p -- 查看用户权限 SELECT user, host FROM mysql.user WHERE user root;可以看的出来root有他的访问权限&#xff0c;如过没有localhost或者% 说明没有访问权限 添加…...

鸿蒙开发:openCustomDialog关闭指定Dialog

前言 本文基于Api13 openCustomDialog弥补了CustomDialogController在使用上存在的诸多限制&#xff0c;实现了可以在任意位置上弹出&#xff0c;可以说是非常的方便&#xff1b;但是&#xff0c;在使用的时候遇到了一些小阻碍&#xff0c;比如一个页面中可能存在多个弹窗&…...