一、题目内容

image.png

二、题解

解法1:

思路

image.png

代码

  1. public class Solution {
  2. public int longestValidParentheses (String s) {
  3. // write code here
  4. int maxans = 0;
  5. int[] dp = new int[s.length()];
  6. for(int i = 1;i<s.length();i++){
  7. if(s.charAt(i) == ')'){
  8. if(i-dp[i-1]>0 && s.charAt(i-dp[i-1]-1) == '('){
  9. dp[i] += dp[i-1] + 2;
  10. if(i-dp[i-1] >= 2){
  11. dp[i] += dp[i-dp[i-1]-2];
  12. }
  13. }
  14. maxans = Math.max(maxans,dp[i]);
  15. }
  16. }
  17. return maxans;
  18. }
  19. }