#yyds干货盘点# leetcode算法题: 最长有效括号

Posted 灰太狼_cxh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# leetcode算法题: 最长有效括号相关的知识,希望对你有一定的参考价值。

题目:

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

 

示例 1:

输入:s = "(()"

输出:2

解释:最长有效括号子串是 "()"

示例 2:

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

输出:4

解释:最长有效括号子串是 "()()"

示例 3:

输入:s = ""

输出:0

代码实现:

class Solution 
public int longestValidParentheses(String s)
int maxans = 0;
int[] dp = new int[s.length()];
for (int i = 1; i < s.length(); i++)
if (s.charAt(i) == ))
if (s.charAt(i - 1) == ()
dp[i] = (i >= 2 ? dp[i - 2] : 0) + 2;
else if (i - dp[i - 1] > 0 && s.charAt(i - dp[i - 1] - 1) == ()
dp[i] = dp[i - 1] + ((i - dp[i - 1]) >= 2 ? dp[i - dp[i - 1] - 2] : 0) + 2;

maxans = Math.max(maxans, dp[i]);


return maxans;


以上是关于#yyds干货盘点# leetcode算法题: 最长有效括号的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点# leetcode算法题:最长公共前缀

#yyds干货盘点# leetcode算法题:全排列

#yyds干货盘点# leetcode算法题: 最长有效括号

#yyds干货盘点# leetcode算法题:排序链表

#yyds干货盘点# leetcode算法题:螺旋矩阵

#yyds干货盘点# leetcode算法题:有效的括号