题目描述
解题思路
先看懂题。
该题利用dfs思想做,当出现“("就去找到")"才返回,设置一个temp临时记录当前x数,当出现|时就要清空temp,每当到‘)”时就要返回全局计数作为新的temp。依次寻找具体看代码注释
代码
left=0
n=input()
def dfs():
global left
global n
ans,temp=0,0#ans为全局计数,temp为局部计数
while left<len(n):
if n[left]=='(':
left+=1
temp+=dfs()#加上直到出现')'的局部x最大值
elif n[left]=='x':
left+=1
temp+=1
elif n[left]=='|':
left+=1
ans=max(ans,temp)#当出现了|就要更新ans
temp=0#清空局部
elif n[left]==')':
left+=1
ans=max(ans,temp)
return ans#一个括号遍历结束返回ans作为temp
ans=max(ans,temp)
return ans
print(dfs())