LeetCode #32: Longest Valid Parentheses
来源:互联网 发布:java递归获取子节点 编辑:程序博客网 时间:2024/06/05 14:41
Problem Statement
(Source) 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.
Solution
class Solution(object): def longestValidParentheses(self, s): """ :type s: str :rtype: int """ n = len(s) if n < 2: return 0 res = 0 dp = [0 for i in xrange(n + 1)] for i in xrange(2, n + 1): if s[i- 1] == ')': if s[i - 2] == '(': dp[i] = dp[i - 2] + 2 else: left = i - 1 - dp[i - 1] if left >= 1 and s[left - 1] == '(': dp[i] = dp[left - 1] + dp[i - 1] + 2 res = max(res, dp[i]) return res
Complexity analysis
- Time complexity:
- Space complexity:
0 0
- LeetCode(32)Longest Valid Parentheses
- [Leetcode] #32 Longest Valid Parentheses
- [Leetcode] 32 - Longest Valid Parentheses
- LeetCode 32 Longest Valid Parentheses
- Leetcode 32 Longest Valid Parentheses
- leetcode 32 -- Longest Valid Parentheses
- LeetCode---(32)Longest Valid Parentheses
- leetcode 32 : Longest Valid Parentheses
- leetcode 32: Longest Valid Parentheses
- [leetcode 32]Longest Valid Parentheses
- LeetCode-32 Longest Valid Parentheses
- Leetcode #32 Longest Valid Parentheses
- Leetcode#32||Longest Valid Parentheses
- leetcode-32 Longest Valid Parentheses
- leetcode 32:Longest Valid Parentheses
- LeetCode 32: Longest Valid Parentheses
- Leetcode 32 - Longest Valid Parentheses
- LeetCode(32)-Longest Valid Parentheses
- 阶乘之和
- Spring原理(一)IoC容器的初始化过程之BeanFactory
- Mybaties日期时间显示问题
- yii 2.0 操作 增删改查 两种方法 ajax 批删
- HDU-5901-Count primes(大素数模板)
- LeetCode #32: Longest Valid Parentheses
- (斯坦福机器学习公开课)梯度算法
- 1min使用AutoCompleteTextView
- ReactNative兼容64位Android手机
- Linux基本知识记录
- android studio测试安装APK出现INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
- java就业前需要掌握的专业技能
- Android样式的开发
- ubuntu14.04忘记管理员密码