首页 > 其他 > 详细

最长有效括号

时间:2020-05-13 13:39:07      阅读:60      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

先用栈判断括号匹配,在把所有匹配的括号标记为0,然后求最长的0序列

  class Solution {
  public:
      int longestValidParentheses(string s) {
          int len = s.length();
          int ans = 0;
          stack<int>p;
          for (int i = 0; i < len; i++) {
              if (s[i] == () {
                  p.push(i);
              }
              if (s[i] == ) && !p.empty()) {
                  s[i] = 0;
                  s[p.top()] = 0;
                  p.pop();
              }
         }
          int temp = 0;
          for (int i = 0; i < len; i++) {
              if (s[i] == 0) {
                  temp++;
              }
              else {
                  ans = max(ans, temp);
                  temp = 0;
              }
         }
          ans = max(ans, temp);
          return ans;
      }
  };

 

最长有效括号

原文:https://www.cnblogs.com/-citywall123/p/12880875.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!