Longest Valid Parentheses
来源:互联网 发布:淘宝运费模板如何删除 编辑:程序博客网 时间:2024/06/06 16:27
题目:
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.
思路:
1、新建一个数组a[],用于记录是不是有效的括号;
2、新建一个堆栈,用于判断括号对数;
3、如果是有效的括号则a[i]为true,循环判断最长的有效值;
代码:
class Solution {public: int longestValidParentheses(string s) { int len=s.size(); bool *a=new bool[len]; memset(a,false,sizeof(bool)*len); stack<int> stk; for(int i=0;i<len;i++) { if(s[i]=='(') stk.push(i); else if(s[i]==')' && !stk.empty()){ a[i]=true; a[stk.top()]=true; stk.pop(); } } int maxlen=0; int calLen=0; for(int i=0;i<len;i++) { if(a[i]) ++calLen; else calLen=0; maxlen=max(maxlen,calLen); } return maxlen; //return calLen; }};
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
- jqgrid列表自动换行
- RandomAccess接口
- 虚拟文件系统 (VFS)-基于linux3.10
- #笔记#圣思园 JavaSE 第46讲——迭代器、TreeSet、Comparator
- ABAP内外日期转换
- Longest Valid Parentheses
- Java WorkSet View
- 理解RESTful架构
- php字符串函数(3)
- iOS集合视图UICollectionViewCell的选种(高亮)效果
- R语言安装
- 字典序最小问题——Best Cow Line
- vsftp安装和配置
- Hibernate和IBatis对比(优缺点)