一、 Longest Valid Parentheses

方法一、一维DP

 1 class Solution
 2 {
 3 public:
 4     int longestValidParentheses(string s)
 5     {
 6         vector<int> dp(s.size(),0);
 7         int res=0;
 8         for(int i=s.size()-2;i>=0;i--)
 9         {
10             if(s[i]==')')
11                 dp[i]=0;
12             else
13             {
14                 int j=i+dp[i+1]+1;
15                 if(j<s.size()&&s[j]==')')
16                 {
17                     dp[i]+=dp[i+1]+2;
18                     if(j+1<s.size())
19                         dp[i]+=dp[j+1];
20                 }
21             }
22             res=max(res,dp[i]);
23         }
24         return res;
25     }
26 };
View Code

相关文章:

  • 2021-06-06
  • 2022-01-02
  • 2021-10-02
  • 2021-12-09
  • 2021-09-26
  • 2021-11-12
  • 2021-09-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-01
  • 2021-11-25
  • 2021-12-27
  • 2021-11-15
相关资源
相似解决方案