力扣32.最长有效括号

力扣32.最长有效括号

cpp 复制代码
  class Solution {
  public:
      int longestValidParentheses(string s) {
          int n = s.size();
          int res=0;
          int start = -1;
          vector<int> st;
          for(int i=0;i<n;i++)
          {
              if(s[i] == '(')
                  st.push_back(i);
              else
              {
                  //前面没有( , (开启下一段)下一段的开始更新为当前下标
                  if(st.empty())
                      start = i;
                  else
                  {
                      //有(先弹出
                      st.pop_back();
                      //如果前面在(了,说明上一次不匹配的)之后的所有括号全部匹配完
                      if(st.empty())
                          res = max(res,i - start);
                      //上一次不匹配的)之后还有(剩余 这一段现在只能取到(的下标
                      else
                          res = max(res,i - st.back());
                  }
              }
          }
          return res;
      }
  };
相关推荐
爱敲点代码的小哥9 小时前
C#哈希表遍历技巧全解析以及栈 堆 队列的认识
算法·哈希算法
xiaoxue..9 小时前
爬楼梯问题:从递归到动态规划再到闭包的进化之路
javascript·算法·面试·动态规划
CoovallyAIHub9 小时前
YOLO11算法深度解析:四大工业场景实战,开源数据集助力AI质检落地
深度学习·算法·计算机视觉
import_random9 小时前
[推荐]embedding嵌入表示是如何生成的(实战)
算法
chao1898449 小时前
基于布谷鸟搜索算法的分布式电源多目标选址定容
算法
Xの哲學9 小时前
Linux IPsec 深度解析: 架构, 原理与实战指南
linux·服务器·网络·算法·边缘计算
Swift社区10 小时前
LeetCode 455 - 分发饼干
算法·leetcode·职场和发展
会编程是什么感觉...10 小时前
算法 - FOC
线性代数·算法·矩阵·无刷电机
U-52184F6910 小时前
【CGAL实战】深入理解二维受约束 Delaunay 网格生成
数据库·算法
疑惑的杰瑞10 小时前
【C】函数与数组
c语言·开发语言·算法·可变参数