32. Longest Valid Parentheses
来源:互联网 发布:起点网络写手新手收入 编辑:程序博客网 时间:2024/05/23 13:41
原网址为https://leetcode.com/problems/longest-valid-parentheses/description/
一、题目
Given a string containing just the characters '('
and ')'
, find the length of the longest valid (well-formed) parentheses substring.
For "(()"
, the longest valid parentheses substring is "()"
, which has length = 2.
Another example is ")()())"
, where the longest valid parentheses substring is "()()"
, which has length = 4.
class Solution {public: //( -> -1, ) -> -2 int longestValidParentheses(string s) { vector<int> sta(s.size(), 0); int top = -1; map<char, int> m; m['('] = -1; m[')'] = -2; for (int i = 0; i < s.size(); i++) { if (top != -1 && s[i] == ')' && sta[top] == m['(']) { sta[top] = sta[top + 1] + 2; sta[top + 1] = 0; top = top - 1; if (top >= 0 && sta[top] > 0) {sta[top] += sta[top + 1];sta[top + 1] = 0;top = top - 1;} } else { if (sta[top + 1] > 0) { sta[top + 2] = m[s[i]]; top = top + 2;} else {sta[top + 1] = m[s[i]]; top = top + 1;} } } int max = 0; for (int i = 0; i < sta.size(); i++) { if (sta[i] > max) max = sta[i]; } return max; }};
阅读全文
0 0
- 32.Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- 32. Longest Valid Parentheses
- Hi3519V101开发环境搭建(二)
- spring管理实务回滚条件:抛出运行时异常的时候
- Postgresql Index —快速理解Index only scan
- blink跨线程解析html有点小问题
- SVM简单解析(21)---《深度学习》
- 32. Longest Valid Parentheses
- HDU
- 搭建ftp文件服务器
- 软件工程(C编码实践)学习心得
- Ubuntu 16.04远程登录服务器--ssh的安装和配置
- MIO EMIO GPIO详解
- Android学习笔记--Notification的使用-- 自定义布局
- 2结构化分析
- Struts数据的上传与下载