[leetcode32]匹配的括号
2018-07-24 本文已影响0人
安琪拉的小迷妹
32. Longest Valid Parentheses
题目链接
https://leetcode.com/problems/longest-valid-parentheses/description/

思路1:建一个二维数组,dp[i][j],i表示左边,j表示右边,dp[i][j]表示left为i,right为j时,能否匹配。但是只能判断当j=i+1的时候,因为例如,判断dp[1][4], dp[1][4]=dp[1][2]+dp[2][3],在此刻,dp[2][3]还没有得到。
当遍历完dp[i][j]时,j=i+1的情况下,匹配的设置为1.
新建一个数组,Dp,将dp行相加,得到这种形式:[0,1,0,1,0,1,0,0] 找出其中1,0,1,0连续的最长数组,就是所求。这步没写出来。。。感觉很麻烦

思路2:动态规划
参考博客
https://blog.csdn.net/XX_123_1_RJ/article/details/80973518

注意要加边界限制条件,不加限制条件会bug。

