32. 最长有效括号

简介: 32. 最长有效括号

题目

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

示例 1:

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/longest-valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

一、解题思路

看见最长子串问题,我们可以考虑以i位置为结尾,能扩到最远的距离
在这一题中,我们可以使用这种思路
我们用一个pre变量,记录上一个最长有效括号的最左边界的上一个位置,
当i来到某个位置,有2种情况
1)i位置与pre位置不匹配,dp[i]=0;
2)i位置与pre位置匹配,dp[i]=dp[pre-1]+2

二、代码

class Solution {
    public int longestValidParentheses(String s) {
        char[] cha=s.toCharArray();
        int n=cha.length;
        if(s==null||n<2){
            return 0;
        }
        int res=0;
        int[] dp=new int[n];
        for(int i=1;i<n;i++){
            int pre=i-dp[i-1]-1;
            if(pre>=0&&cha[pre]=='('&&cha[i]==')'){
                dp[i]=dp[i-1]+2+((pre>0)?dp[pre-1]:0);
            }
            res = Math.max(res, dp[i]);
        }
        return res;
    }
}

总结

看到最长子串问题我们需要想到以i位置结尾或者开头,分析邻近位置与i的关系,推出动态规划公式

相关文章
|
12月前
|
前端开发 JavaScript 开发者
Web组件:一种新的前端开发范式
【10月更文挑战第9天】Web组件:一种新的前端开发范式
361 2
|
12月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
382 1
Linux系统之Centos7安装cockpit图形管理界面
|
12月前
|
人工智能 程序员 开发者
通义灵码测评
通义灵码的出现,给了开发者很多灵感和帮助
289 4
通义灵码测评
|
存储 安全 Cloud Native
阿里云推出创业者计划介绍,加入计划可获得最低3500元,最高100万抵扣金
阿里云创业者计划是面向中小企业推出的一项扶持计划,致力于为中小企业构建智能时代的核心竞争力,同时聚合众多知名投资机构、加速器、孵化器和大企业创新力量,向中小企业提供全方位的赋能与服务。成功加入计划后,阿里云将提供最低3500元、最高100万元的上云抵扣金,让中小企业享受免费的云资源和技术服务,助力初创企业开启智能时代创业新范式。
阿里云推出创业者计划介绍,加入计划可获得最低3500元,最高100万抵扣金
|
自然语言处理 数据可视化 API
文档智能服务开发者评测
在企业内部知识库管理系统构建中,我们应用了文档解析(大模型版)服务,高效处理多样化的技术文档、操作手册及业务流程文档。该服务能精准提取文本、表格、图片等信息并转换为结构化数据,显著提升知识库管理效率。相较于其他可视化工具,文档解析(大模型版)支持更多文档格式,接入灵活,具备出色的性能与可扩展性。产品内提供了详尽的API文档帮助,但在复杂场景下缺乏具体指导。建议增加模型定制化功能、强化安全措施,并优化成本与性能。此外,该服务还可与NLP平台、知识图谱构建工具及自动化工作流平台联动,进一步提升智能化水平和工作效率。
183 1
能源转换技术
能源转换技术
282 3
|
编解码 iOS开发 UED
IINA使用
IINA使用
|
存储 编解码 分布式计算
简单说一下阿里云OSS在哪些应用场景里应用。
简单说一下阿里云OSS在哪些应用场景里应用。
1139 0
|
IDE 开发工具 git
使用gitee做为仓库管理项目,适合新手,详细有图
使用gitee做为仓库管理项目,适合新手,详细有图
344 0
使用gitee做为仓库管理项目,适合新手,详细有图
|
JavaScript 前端开发
【ChatGPT】一文教你怎么编写清晰有效的(Prompt)提示词~(二)
【ChatGPT】一文教你怎么编写清晰有效的(Prompt)提示词~(二)