首页 > 试题广场 >

括号字符串的最长有效长度

[编程题]括号字符串的最长有效长度
  • 热度指数:5795 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个括号字符串str,返回最长的能够完全正确匹配括号字符字串的长度。

输入描述:
输出一行字符串,代表str


输出描述:
输出一个整数,代表括号字符串的最长有效长度。
示例1

输入

(()())

输出

6
示例2

输入

())

输出

2

备注:
时间复杂度,额外空间复杂度
Python3
s = input()
stack = [-1]
length = 0
max_length = 0
for i in range(len(s)):
    if s[i] == '(':
        stack.append(i)
    else:
        stack.pop()
        if stack:
            length = i - stack[-1]
            max_length = max(length, max_length)
        else:
            stack.append(i)
print(max_length)    


发表于 2022-06-21 22:46:39 回复(0)