最长的括号子串
public int longestValidParentheses (String s) {
// write code here
int n=s.length();
int max=0;
int[] dp=new int[n];
for (int i=1;i<n;i++){
if(s.charAt(i)==')'){
if(s.charAt(i-1)=='('){
dp[i]=(i>=2?dp[i-2]:0)+2;
}else {
int j=i-dp[i-1]-1;
if(j>=0&&s.charAt(j)=='('){
dp[i]=dp[i-1]+(j>=1?dp[j-1]:0)+2;
}
}
}
max=Math.max(max,dp[i]);
}
return max;
}