Longest Valid Parentheses
来源:互联网 发布:免费内部通讯软件 编辑:程序博客网 时间:2024/06/03 14:45
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: int longestValidParentheses(string s) { int max = 0; int ii = 0; while(ii < s.length()) { int jj = ii; int count = 0; int mark = 0; vector<int> flags; while(jj < s.length()) { if(s[jj] == '(') { flags.push_back(jj); count ++; } else if(count > 0) { count --; flags.pop_back(); mark +=2; } else { jj ++; break; } jj ++; } if (!flags.empty()) { mark = flags[0] - ii; for (int kk = 0; kk < flags.size() - 1; kk ++) { int newmark = flags[kk + 1] - flags[kk] - 1; if(newmark > mark) mark = newmark; } ii = flags[flags.size() - 1] + 1; } else { ii = jj; } if(mark > max) { max = mark; } } return max; }};
0 0
- LeetCode: Longest Valid Parentheses
- LeetCode Longest Valid Parentheses
- LeetCode: Longest Valid Parentheses
- [Leetcode] Longest Valid Parentheses
- [leetcode]longest Valid Parentheses(!!)
- Longest Valid Parentheses
- Longest Valid Parentheses
- [Leetcode] Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- LeetCode31:Longest Valid Parentheses
- longest valid parentheses
- Longest Valid Parentheses
- 【leetcode】Longest Valid Parentheses
- Longest Valid Parentheses
- [LeetCode]Longest Valid Parentheses
- Longest Valid Parentheses
- Longest Valid Parentheses
- Longest Valid Parentheses
- mktime 夏令时
- shell脚本中的$()和${}
- CodeIgniter实现读写分离
- linux之SQL语句简明教程---主键,外来键
- 【006】Objective-C中NSLog的格式
- Longest Valid Parentheses
- Speed Up Octopress with InstantClick
- python mysql结果查询
- 易语言 TCP支持库
- 二进制在数学中的妙用(转帖)
- 黑马程序员——Foundation框架——NSString
- csdn站内搜索结果爬虫
- 第16周项目2-用指针玩字符串(1)字符串连接
- (下拉框系列1)下拉框Html.DropDownList 和DropDownListFor 的常用方法