# 给定一个只包含字符'('和')'的字符串,
# 找到最长的有效(格式良好)括号子字符串的长度。
# 对于“(()”,最长的有效括号子串是“()”,其长度为2。
# 另一个例子是“)()())”,其中最长的有效括号子串是“()()”,其长= 4
def find_long_valid(s):
stack,rec,ind=[],0,0
for i,v in enumerate(s):
if v=='(':
print('i %s,append %s'%(i,i))
stack.append(i)
elif len(stack)==0:
rec=max(rec,ind)
print('i %s,invalid rec %s,ind %s'%(i,rec,ind))
ind=0
elif len(stack)==1:
print(ind)
ind+=i-stack.pop()+1
print('i %s,valid rec %s,ind %s'%(i,rec,ind))
else:
stack.pop()
return max(rec,ind)
s=')()((())))()()()()()()()()()((()))'
print(find_long_valid(s))