给定一个只包含 '('
和 ')'
的字符串,找出最长的包含有效括号的子串的长度。
示例 1:
输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()"
示例 2:
输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()"思路:动态规划,只需要考虑两个有效的连续括号,()()这种形式和((()))这种形式,前一种是dp[i]=dp[i-2]+2;后面dp=dp【i-1】+2;
注意()(())结合起来。这时dp[i] = dp[i - 1] + 2 + dp[i - 1 - dp[i - 1] - 1];综合可见下面解答。
来源:https://www.cnblogs.com/zzas0/p/10533645.html