(LeetCode)Longest Valid Parentheses
来源:互联网 发布:网易博客发帖软件 编辑:程序博客网 时间:2024/06/07 16:53
动态规划实现:
int longestValidParentheses(string s) { if(s.length() <= 1) return 0; int curMax = 0; vector<int> longest(s.size(),0); for(int i=1; i < s.length(); i++){ if(s[i] == ')' && i-longest[i-1]-1 >= 0 && s[i-longest[i-1]-1] == '('){ longest[i] = longest[i-1] + 2 + ((i-longest[i-1]-2 >= 0)?longest[i-longest[i-1]-2]:0); curMax = max(longest[i],curMax); } } return curMax; }
用堆栈实现的:
public int longestValidParentheses(String s) { Stack<Integer> stack = new Stack(); boolean []end = new boolean[s.length()]; for(int i = 0; i < s.length() ; i ++) end[i] = false; for(int i = 0 ; i < s.length() ; i ++) { if(s.charAt(i) == '(') stack.push(i); else if(!stack.isEmpty()) end[stack.pop()] = end[i] = true; } int nowsum = 0,maxsum = 0; for(int i = 0 ; i < s.length() ; i ++) { if(end[i] == false) nowsum = 0; else{ nowsum ++; if(nowsum > maxsum) maxsum = nowsum; } } return maxsum; }
0 0
- LeetCode: Longest Valid Parentheses
- LeetCode Longest Valid Parentheses
- LeetCode: Longest Valid Parentheses
- [Leetcode] Longest Valid Parentheses
- [leetcode]longest Valid Parentheses(!!)
- [Leetcode] Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- 【leetcode】Longest Valid Parentheses
- [LeetCode]Longest Valid Parentheses
- [leetcode] Longest Valid Parentheses
- LeetCode-Longest Valid Parentheses
- [LeetCode] Longest Valid Parentheses
- LeetCode:Longest Valid Parentheses
- Leetcode: Longest Valid Parentheses
- Leetcode:Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- LeetCode Longest Valid Parentheses
- Win32 C++项目移植到 Win10 UWP
- JAVA技术F4
- Spring 事务传递教程
- 此像素非彼像素
- HTTPClient找不到包的问题
- (LeetCode)Longest Valid Parentheses
- maven
- php-fpm占用系统资源分析
- 笔试编程题
- HTML标记与属性
- JS 高级总结
- Android自动测试命令Monkey
- POJ 1985 Cow Marathon(牛的锻炼,树的直径)
- 双向队列