所以我试图平衡括号的顺序。欲了解更多信息,请参阅:https://www.hackerrank.com/challenges/balanced-brackets/problem?isFullScreen=true我想使用numpy数组而不是列表。现在我面临的问题是,我不知道如何从np数组中弹出元素并将其存储在另一个列表/数组中,因为numpy中没有pop()函数。请在这里帮助我。这里是代码。也请回复我解决方案代码。
import numpy as np
t = int(input("Count: "))
while t:
ar = np.array('')
s = input()
for i in s:
if i == '(':
np.append(['('])
elif i == '[':
np.append(['['])
elif i == '{':
np.append(['{'])
elif i == ')':
k = np.pop(ar)
if k != '(':
np.append(['k'])
break
elif i == ']':
k = np.pop(ar)
if k != '[':
np.append(['k'])
break
elif i == '}':
k = np.pop(ar)
if k != '{':
np.append(['k'])
break
if len(ar) == 0 or ar[len(ar)-1] != '':
print('NO')
else:
print('YES')
t-=1
我试着在数组中插入括号的字符串,但现在我不知道如何弹出它们并将其存储在另一个数组中
3条答案
按热度按时间1yjd4xko1#
使用
dict
Map闭括号和开括号将使其更简单、更清晰。另外,numpy
对这种情况没有帮助。一个简单的解决方案是:lqfhib0f2#
这里有一个非常简单的递归方法:
klh5stk13#
你把事情弄得太复杂了你肯定不想要或需要numpy。简单的Python列表就足够了。
大概是这样的: