标签:ret sys lse 规划 solution equal return toc 动态
class Solution {
//二刷没想到用动态规划。
public int longestValidParentheses(String s) {
if(s.equals(""))return 0;
int[] dp=new int[s.length()];
char[] ss=s.toCharArray();
dp[0]=0;
int max=0;
for(int i=1;i<ss.length;i++){
if(ss[i]==‘(‘)
dp[i]=0;
else{//ss[i]==‘)‘
if(ss[i-1]==‘(‘&&i-2>=0)
dp[i]=dp[i-2]+2;
else if(ss[i-1]==‘(‘&&i-2<0)
dp[i]=2;
else{//ss[i-1]==‘)‘
if(i-dp[i-1]-1>=0&&ss[i-1-dp[i-1]]==‘(‘)
if(i-dp[i-1]-2>=0)
dp[i]=dp[i-1]+2+dp[i-dp[i-1]-2];
else
dp[i]=dp[i-1]+2;
else
dp[i]=0;
}
}
//System.out.println(dp[i]);
max=Math.max(max,dp[i]);
}
return max;
}
}
标签:ret sys lse 规划 solution equal return toc 动态
原文地址:https://www.cnblogs.com/wsshub/p/14862835.html