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

【力扣hot100题】(089)最长有效括号

这题目真是越做越难了。

但其实只是思路很难想到,一旦会了方法就很好做。

但问题就在方法太难想了……

思路还是只要遍历一遍数组,维护动态规划数组记录截止至目前位置选取该元素的情况下有效括号的最大值。

光是知道这个还不够,看了答案才知道每次可以取两个元素。

具体来说分三种情况:

  • 当前元素为‘(’,则最后取该元素时一定没有有效括号,所以元素取为0.
  • 当前元素为')',并且前面有元素且上一个元素为'(',这种情况就等于上上个元素数组维护的值加上2。
  • 当前元素为')',并且前面有元素且上一个元素为')',这种情况就要追溯到前面有效括号再之前的元素,如果前面有有效括号并且前面的有效括号前面是'(',这时当前元素前一个元素维护的值恰好记录的那个有效括号的长度,通过减去这个有效长度再减1(原本查看上一个元素也要减1,所以一共减2)就可以得到前面有没有相匹配的'(',于是就可以得到当前维护的数=前面有效括号的长度+2(若当前右括号与前面左括号相匹配)

状态转移方程如上。

class Solution {
public:int longestValidParentheses(string s) {if(s.size()==0) return 0;vector<int> array(s.size()+1,0);int result=0;for(int i=2;i<=s.size();i++){if(s[i-1]=='(') array[i]=0;else if(s[i-2]=='('&&s[i-1]==')') array[i]=array[i-2]+2;else if(s[i-2]==')'&&s[i-1]==')'&&i>=array[i-1]+2&&s[i-array[i-1]-2]=='(') array[i]=array[i-array[i-1]-2]+array[i-1]+2;result=max(result,array[i]);}return result;}
};

相关文章:

【力扣hot100题】(089)最长有效括号

这题目真是越做越难了。 但其实只是思路很难想到&#xff0c;一旦会了方法就很好做。 但问题就在方法太难想了…… 思路还是只要遍历一遍数组&#xff0c;维护动态规划数组记录截止至目前位置选取该元素的情况下有效括号的最大值。 光是知道这个还不够&#xff0c;看了答案…...

为什么需要「实体识别」以及 RAG如何和实体识别结合用

&#x1f916; 为什么要做「实体识别」&#xff1f; 实体识别&#xff08;Named Entity Recognition, NER&#xff09; 是自然语言处理&#xff08;NLP&#xff09;中的一种基础技术&#xff0c;它的目标是&#xff1a; 从文本中识别出“有意义”的实体信息&#xff0c;如人名…...

初级社会工作者考试精选题库

通过练习题库中的题目&#xff0c;考生能了解考试的题型、难度分布以及命题规律&#xff0c;明确备考的重点和难点&#xff0c;有针对性地复习知识点&#xff0c;避免盲目备考。 精选练习题 1、社会工作者小王在为社区孤寡老人提供服务时&#xff0c;总是把他们当成自己的父母来…...

Transformer 训练:AutoModelForCausalLM,AutoModelForSequenceClassification

Transformer 训练:AutoModelForCausalLM,AutoModelForSequenceClassification 目录 Transformer 训练:AutoModelForCausalLM,AutoModelForSequenceClassification`AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)`功能概述参数解释`AutoModelForSequen…...

图书管理系统(Python)

运行结果&#xff1a; 源代码&#xff1a; # 定义一个图书类 class Book: def __init__(self, title, author, isbn): self.title title self.author author self.isbn isbn def show_info(self): print(f"{self.title},{self.author},{self.isbn}") # 图书列表…...

2022年全国职业院校技能大赛 高职组 “大数据技术与应用” 赛项赛卷(4卷)任务书

2022年全国职业院校技能大赛 高职组 “大数据技术与应用” 赛项赛卷&#xff08;4卷&#xff09;任务书 背景描述&#xff1a;模块A&#xff1a;大数据平台搭建&#xff08;容器环境&#xff09;&#xff08;15分&#xff09;任务一&#xff1a;Hadoop 完全分布式安装配置任务二…...

装系统的一天!镜像系统!

虚拟机可以装系统&#xff0c;我们都知道&#xff0c;但是虚拟机可以装几个系统呢&#xff1f; macOS: 如何在 Windows 电脑上装 macOS 系统&#xff1f;_windows装mac-CSDN博客 Win10: Win10镜像&#xff08;官方正版&#xff09;下载及虚拟机配置&#xff08;保姆级教程…...

Wincc脚本全部不运行

Wincc脚本全部不运行 前言解决办法操作步骤 前言 这里主要是指旧项目移植到Wincc的高版本&#xff0c;移植后界面的一些功能均会失效。&#xff08;例如脚本不执行&#xff0c;项目编辑器不可用等情况&#xff09; 解决办法 Wincc的项目文件中有Dcf文件&#xff0c;Dcf文件包…...

第三节:React 基础篇-React组件通信方案

React 组件通信方案详解及使用场景 以下是 React 组件通信的常用方法及其适用场景&#xff0c;以层级结构呈现&#xff1a; 一、父子组件通信 1. Props 传递 • 实现方式&#xff1a; • 父组件通过 props 向子组件传递数据。 • 子组件通过回调函数 (onEvent) 通知父组件更…...

✨ MOS开关的非线性因素详解 ✨

MOS 开关在模拟电路、开关电源等应用中广泛使用&#xff0c;但其导通特性存在非线性&#xff0c;可能导致信号失真或系统性能下降。以下是主要非线性因素及解决思路&#xff1a; &#x1f527; 1. 导通电阻&#xff08;Ron&#xff09;的非线性 机理&#xff1a; Ron 并非固定值…...

解决vcpkg使用VS2022报错问题

转自个人博客&#xff1a;解决vcpkg使用VS2022报错问题 最近&#xff0c;在把Visual Studio2019完全更新到最新Visual Studio2022后&#xff0c;原使用的vcpkg无法正常安装包&#xff0c;会报如下与Visual Studio 2022相关的错误&#xff1a; error: in triplet x64-windows-m…...

基于支持向量回归(SVR)的空气质量预测

基于支持向量回归&#xff08;SVR&#xff09;的空气质量预测 1.作者介绍2.支持向量回归&#xff08;SVR&#xff09;算法介绍2.1 算法原理2.2 关键概念2.3算法特点2.4与其他回归方法对比 3.基于支持向量回归&#xff08;SVR&#xff09;的空气质量预测实验3.1数据集介绍3.2代码…...

【数据结构】排序

目录 1.排序的概念及其运用 1.1排序的概念 1.2常见排序算法 2插入排序 2.1直接插入排序 2.1.1基本思想 2.1.2代码实现 2.1.3特性总结 2.2 希尔排序 2.2.1基本思想 2.2.2代码实现 3.选择排序 3.1选择排序 3.1.1基本思想 3.1.2代码实现 3.1.3特性总结 3.2 堆排…...

4185 费马小定理求逆元

4185 费马小定理求逆元 ⭐️难度&#xff1a;简单 &#x1f31f;考点&#xff1a;费马小定理 &#x1f4d6; &#x1f4da; import java.util.Scanner; import java.util.Arrays;public class Main {static int[][] a;public static void main(String[] args) {Scanner sc …...

低代码控件开发平台:飞帆中粘贴富文本的控件

效果&#xff1a; 链接&#xff1a; https://fvi.cn/729...

偶氮二异丁腈(AIBN)的物化性质及其在合成中的应用

偶氮二异丁腈(AIBN)是一种常用的自由基引发剂&#xff0c;是一种白色结晶性粉末&#xff0c;不溶于水&#xff0c;但溶于甲醇、乙醇、丙酮、乙醚、甲苯等有机溶剂和乙烯基单体。 AIBN在60℃以上会分解形成异丁腈基&#xff0c;从而引发自由基反应。其分解温度区间为50&#xff…...

3.1.3.2 Spring Boot使用Servlet组件

在Spring Boot应用中使用Servlet组件&#xff0c;可以通过注解和配置类两种方式注册Servlet。首先&#xff0c;通过WebServlet注解直接在Servlet类上定义URL模式&#xff0c;Spring Boot会自动注册该Servlet。其次&#xff0c;通过创建配置类&#xff0c;使用ServletRegistrati…...

java——HashSet底层机制——链表扩容和树化

HashSet在Java中是基于HashMap实现的&#xff0c;它实际上是将所有元素作为HashMap的key存储&#xff0c;而value则统一使用一个静态的Object对象(Present)作为占位符。 1.举例演示 下面我们就举例说明一下&#xff0c;HashSet集合中&#xff0c;一个节点上的链表添加数据以及…...

玩转Docker | 使用Docker搭建Blog微博系统

玩转Docker | 使用Docker搭建Blog微博系统 前言一、Blog介绍项目简介主要特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署Blog服务下载镜像创建容器检查容器状态设置权限检查服务端口安全设置四、访问Blog系统访问Blog首页登录Blog五、总结前言 在数字…...

Linux中的Vim与Nano编辑器命令详解

&#x1f4e2; 友情提示&#xff1a; 本文由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;平台gpt-4-turbo模型辅助创作完成&#xff0c;旨在提供灵感参考与技术分享&#xff0c;文中代码与命令建议通过官方渠道验证。 在Linux系统中&#xff0c;文本编辑是最常用的…...

G1垃圾回收器介绍

G1垃圾回收器简介 全称&#xff1a;Garbage-First Garbage Collector。目的&#xff1a;G1垃圾回收器是为了替代CMS垃圾回收器而设计的&#xff0c;它旨在提供更好的垃圾回收性能和可预测性&#xff0c;特别是在处理大内存堆时。特点&#xff1a;G1是一种服务器端的垃圾回收器…...

Python学习笔记(三)

文章目录 Python函数详解基本概念定义函数函数调用参数类型1. 位置参数2. 默认参数3. 关键字参数4. 可变参数 返回值函数作用函数中的变量作用域规则 递归函数Lambda函数函数注解装饰器文档字符串其他重要概念闭包生成器函数高阶函数 Python函数详解 基本概念 函数是Python中…...

Hqst的超薄千兆变压器HM82409S在Unitree宇树Go2智能机器狗的应用

本期拆解带来的是宇树科技推出的Go2智能机器狗&#xff0c;这款机器狗采用狗身体形态&#xff0c;前端设有激光雷达&#xff0c;摄像头和照明灯。在腿部设有12个铝合金精密关节电机&#xff0c;并配有足端力传感器&#xff0c;通过关节运动模拟狗的运动&#xff0c;并可做出多种…...

TaskFlow开发日记 #1 - 原生JS实现智能Todo组件

一、项目亮点 - &#x1f4cc; **零依赖实现**&#xff1a;纯原生JavaScript CSS3 - &#x1f4cc; **数据持久化**&#xff1a;LocalStorage自动同步 - &#x1f4cc; **交互优化**&#xff1a;收藏置顶 动态统计 - &#x1f4cc; **响应式设计**&#xff1a;完美适配移动端…...

es的告警信息

Elasticsearch&#xff08;ES&#xff09;是一个开源的分布式搜索和分析引擎&#xff0c;在运行过程中可能会产生多种告警信息&#xff0c;以提示用户系统中存在的潜在问题或异常情况。以下是一些常见的 ES 告警信息及其含义和处理方法&#xff1a; 集群健康状态告警 信息示例…...

vue实现在线进制转换

vue实现在线进制转换 主要功能包括&#xff1a; 1.支持2-36进制之间的转换。 2.支持整数和浮点数的转换。 3.输入验证&#xff08;虽然可能存在不严格的情况&#xff09;。 4.错误提示。 5.结果展示&#xff0c;包括大写字母。 6.用户友好的界面&#xff0c;包括下拉菜单、输…...

责任链设计模式(单例+多例)

目录 1. 单例责任链 2. 多例责任链 核心区别对比 实际应用场景 单例实现 多例实现 初始化 初始化责任链 执行测试方法 欢迎关注我的博客&#xff01;26届java选手&#xff0c;一起加油&#x1f498;&#x1f4a6;&#x1f468;‍&#x1f393;&#x1f604;&#x1f602; 最近在…...

Matlab 分数阶PID控制永磁同步电机

1、内容简介 Matlab 203-分数阶PID控制永磁同步电机 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

Java中LocalDateTime类

Java中的日期类 Date类LocalDateTime类创建LocalDateTime对象1 获取当前时间2 获取自己指定时间3 字符串创建日期 获取当前日期的信息1获取当前日期的年月日 时分秒2 获取当前日期周几\当年第几天\当月第几天3 获取当前⽇期所在周的周⽇和周⼀ 日期的运算1日期加减天数2 日期加…...

【C语言】--- 文件操作

文件操作 1. 为什么要使用文件2. 什么是文件2.1 程序文件2.2 数据文件2.3 文件名 3. 二进程文件和文本文件4. 文件的打开和关闭4.1 流和标准流4.1.1流4.2.2标准流 4.2 文件指针4.3 打开和关闭操作 5. 文件的顺序读写5.1 文件顺序读写函数5.1.1 fgetc 和 fputc5.1.2 fgets 和 fg…...

操作系统 4.4-从生磁盘到文件

文件介绍 操作系统中对磁盘使用的第三层抽象——文件。这一层抽象建立在盘块&#xff08;block&#xff09;和文件&#xff08;file&#xff09;之间&#xff0c;使得用户可以以更直观和易于理解的方式与磁盘交互&#xff0c;而无需直接处理磁盘的物理细节如扇区&#xff08;se…...

第六章 进阶03 外包测试亮相

因为有年度重点项目&#xff0c;团队缺少测试资源&#xff0c;所以临时招聘了一个外包测试&#xff08;后文用J代指&#xff09;&#xff0c;让产品经理亮亮来带她。 到今天J差不多入职有1个月时间了&#xff0c;亮亮组了个会&#xff0c;一起评审下J做的测试用例。 J展示了其…...

如何使用通义灵码完成PHP单元测试 - AI辅助开发教程

一、引言 在软件开发过程中&#xff0c;测试是至关重要的一环。然而&#xff0c;在传统开发中&#xff0c;测试常常被忽略或草草处理&#xff0c;很多时候并非开发人员故意为之&#xff0c;而是缺乏相应的测试思路和方法&#xff0c;不知道如何设计测试用例。随着 AI 技术的飞…...

使用 nano 文本编辑器修改 ~/.bashrc 文件与一些快捷键

目录 使用 nano 编辑器保存并关闭文件使用 sed 命令直接修改文件验证更改 如果你正在使用 nano 文本编辑器来修改 ~/.bashrc 文件&#xff0c;以下是保存并关闭文件的具体步骤&#xff1a; 使用 nano 编辑器保存并关闭文件 打开 ~/.bashrc 文件 在终端中运行以下命令&#xf…...

计算机组成原理——CPU与存储器连接例题

计算机组成原理——CPU与存储器连接例题 设CPU共有16根地址线和8根数据线&#xff0c;并用(MREQ) ̅作为访存控制信号&#xff08;低电平有效&#xff09;&#xff0c;(WR) ̅作为读/写命令信号&#xff08;高电平读&#xff0c;低电平写&#xff09;。现有下列存储芯片&#…...

SQL 外键(Foreign Key)详细讲解

1. 什么是外键&#xff1f;​​ ​​定义​​&#xff1a;外键是数据库表中的一列&#xff08;或一组列&#xff09;&#xff0c;用于​​建立两个表之间的关联关系​​。外键的值必须匹配另一个表的主键&#xff08;Primary Key&#xff09;或唯一约束&#xff08;Unique Con…...

B3647 【模板】Floyd

题目链接&#xff1a;点击进入 题目 思路 代码 #include <bits/stdc.h> #define inf 0x3f3f3f3f using namespace std; const int maxn 1e6 10;int n,m,g[110][5000];int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n>>m;memse…...

配置镜像端口和观察接口

top&#xff1a; 在G0/0/2上抓包通过其他端口ping pc4 可以看到 Wireshark 抓包没有任何反应&#xff0c;做个镜像端口并配置&#xff08;观察接口和镜像接口&#xff09; observe-port interface g0/0/2 #命令配置观察端口mirror to observe-port both …...

爬虫解决debbugger之替换文件

鼠鼠上次做一个网站的时候&#xff0c;遇到的debbugger问题&#xff0c;是通过打断点然后编辑断点解决的&#xff0c;现在鼠鼠又学会了一个新的技能 首先需要大家下载一个reres的插件&#xff0c;这里最好用谷歌浏览器 先请大家看看案例国家水质自动综合监管平台 这里我们只…...

erlang的安装-linux

1&#xff1a;解压 tar -zxvf 安装包 2&#xff1a;进入解压的目录执行&#xff1a; ./configure --prefix/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac 3&#xff1a;编译安装&#xff1a; m…...

Android Coil 3默认P3色域图加载/显示不出来

Android Coil 3默认P3色域图加载/显示不出来 解决&#xff0c;需要在Androidmanifest.xml使用Coil 3的activity配置属性&#xff1a; <activityandroid:colorMode"wideColorGamut"...</activity>...

【LaTeX】安装

Register - Overleaf, 在线LaTeX编辑器 注册Overleaf 安装 Latex2022 安装教程&#xff08;附安装资源&#xff09;_tex2022安装教程-CSDN博客 注&#xff1a;先安装 texlive&#xff0c;再安装TexStudio \documentclass{article} % 这里是导言区 \begin{document}Hello, wor…...

【2025年认证杯数学中国数学建模网络挑战赛】A题 解题建模过程与模型代码(基于matlab)

目录 【2025年认证杯数学建模挑战赛】A题解题建模过程与模型代码&#xff08;基于matlab&#xff09;A题 小行星轨迹预测解题思路第一问模型与求解第二问模型与求解 【2025年认证杯数学建模挑战赛】A题 解题建模过程与模型代码&#xff08;基于matlab&#xff09; A题 小行星轨…...

【KWDB 创作者计划】KWDB 数据库全维度解析手册

——从原理到实践&#xff0c;构建下一代数据基础设施 ​第一章&#xff1a;KWDB 设计哲学与技术全景 1.1 为什么需要 KWDB&#xff1f; 在数据爆炸与业务场景碎片化的今天&#xff0c;传统数据库面临三大挑战&#xff1a;​扩展性瓶颈​&#xff08;单机性能天花板&#xff…...

低代码开发能否取代后端?深度剖析与展望-优雅草卓伊凡

低代码开发能否取代后端&#xff1f;深度剖析与展望-优雅草卓伊凡 在科技迅猛发展的当下&#xff0c;软件开发领域新思潮与新技术不断涌现&#xff0c;引发行业内外热烈探讨。近日&#xff0c;笔者收到这样一个颇具争议的问题&#xff1a;“低代码开发能取代后端吗&#xff1f…...

LeetCode hot 100—最长回文子串

题目 给你一个字符串 s&#xff0c;找到 s 中最长的 回文 子串。 示例 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;s "cb…...

蓝桥杯知识总结

文章目录 1.常用的数学方法2.大小写转换3.数组和集合排序数组排序集合排序 4.控制小数位数5.栈6.队列7.字符串相关方法8.十进制转n进制模板字符转为十进制某进制转化为十进制 9.前缀和10.差分11.离散化12.双指针13.二分14.枚举模板组合型枚举模板排列型枚举模板 15.搜索算法BFS…...

leetcode:2839. 判断通过操作能否让字符串相等 I(python3解法)

难度&#xff1a;简单 给你两个字符串 s1 和 s2 &#xff0c;两个字符串的长度都为 4 &#xff0c;且只包含 小写 英文字母。 你可以对两个字符串中的 任意一个 执行以下操作 任意 次&#xff1a; 选择两个下标 i 和 j 且满足 j - i 2 &#xff0c;然后 交换 这个字符串中两个…...

Python Lambda表达式详解

Python Lambda表达式详解 1. Lambda是什么&#xff1f; Lambda是Python中用于创建匿名函数&#xff08;没有名字的函数&#xff09;的关键字&#xff0c;核心特点是简洁。它适用于需要临时定义简单函数的场景&#xff0c;或直接作为参数传递给高阶函数&#xff08;如map()、f…...

Matlab 平衡车的建模与控制

1、内容简介 Matlab 189-平衡车的建模与控制 可以交流、咨询、答疑 2、内容说明 略 平衡车的建模与控制 选择一款平衡车&#xff08;如&#xff1a;小米九号平衡车等&#xff09;&#xff0c;并估计平衡车的关键参数。完成以下工作&#xff1a; 1. 建立平衡车模型&#xf…...