【发布时间】:2020-09-18 13:34:32
【问题描述】:
我正在尝试解决 https://www.hackerearth.com/practice/data-structures/arrays/1-d/practice-problems/algorithm/bracket-sequence-1-40eab940/submissions/ 在 python 中
它显示时间超过错误。谁能告诉我如何降低时间复杂度? 这是我的代码:
def findBalanced(expr):
stack = []
for char in expr:
if char in ['(']:
stack.append(char)
else:
if not stack:
return False
current_char = stack.pop()
if current_char == '(':
if char != ')':
return False
if stack:
return False
return True
if __name__ == '__main__':
expr = input()
count = 0
for x in range(len(expr)):
expr = expr[1:] + expr[0]
if findBalanced(expr):
count +=1
else:
pass
print(count)
如何用最少的时间和最少的空间解决这个问题?
【问题讨论】:
-
你能告诉我们你到底想解决什么问题吗?在这里,而不是其他地方?
-
我没有点击链接,但是链接包含“括号序列”并且代码定义了一个返回布尔值的函数“findBalanced”,所以我猜目标是获取一个字符串
(和)并判断它是否是正确的括号表达式;例如,(()())()是正确的,但(()是不正确的。 -
嗨@Stef,不,这不是正确的问题。请按照说明访问链接
标签: python string algorithm data-structures array-algorithms