class Solution:
# @param s, a string
# @return an integer
def longestValidParentheses(self, s):
ret, st = 0, []
st.append((-1,')'))
for i in range(len(s)):
if s[i] == '(' or st[-1][1] == ')':
st.append((i, s[i]))
else:
st.pop()
ret = max(ret, i - st[-1][0])
return ret

本文介绍了一种解决最长有效括号问题的高效算法。通过使用栈来跟踪括号的位置,该算法能够在O(n)的时间复杂度内找到最长的有效括号序列。代码实现简洁明了,易于理解。

被折叠的 条评论
为什么被折叠?



