博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
32. Longest Valid Parentheses
阅读量:5060 次
发布时间:2019-06-12

本文共 1218 字,大约阅读时间需要 4 分钟。

Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.

Example 1:

Input: "(()"Output: 2Explanation: The longest valid parentheses substring is "()"

Example 2:

Input: ")()())"Output: 4Explanation: The longest valid parentheses substring is "()()"

AC code:

class Solution {public:    int longestValidParentheses(string s) {        int n = s.length(), longest = 0;        stack
st; for (int i = 0; i < n; i++) { if (s[i] == '(') st.push(i); else { if (!st.empty()) { if (s[st.top()] == '(') st.pop(); else st.push(i); } else st.push(i); } } if (st.empty()) longest = n; else { int a = n, b = 0; while (!st.empty()) { b = st.top(); st.pop(); longest = max(longest, a-b-1); a = b; } longest = max(longest, a); } return longest; }};
Runtime: 
8 ms, faster than 62.98% of C++ online submissions for Longest Valid Parentheses.

 

 

转载于:https://www.cnblogs.com/ruruozhenhao/p/9769908.html

你可能感兴趣的文章
发送请求时params和data的区别
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
一步步学习微软InfoPath2010和SP2010--第七章节--从SP列表和业务数据连接接收数据(4)--外部项目选取器和业务数据连接...
查看>>
如何增强你的SharePoint 团队网站首页
查看>>
FZU 1914 Funny Positive Sequence(线性算法)
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
基于grunt构建的前端集成开发环境
查看>>
MySQL服务读取参数文件my.cnf的规律研究探索
查看>>
java string(转)
查看>>
__all__有趣的属性
查看>>
BZOJ 5180 [Baltic2016]Cities(斯坦纳树)
查看>>
写博客
查看>>
利用循环播放dataurl的视频来防止锁屏:NoSleep.js
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
ios封装静态库技巧两则
查看>>
Educational Codeforces Round 46 (Rated for Div. 2)
查看>>
Abstract Factory Pattern
查看>>
C# 实现Bresenham算法(vs2010)
查看>>