zoukankan      html  css  js  c++  java
  • leetcode python 032 识别最长合法括号

    # 给定一个只包含字符'('和')'的字符串,
    # 找到最长的有效(格式良好)括号子字符串的长度。
    # 对于“(()”,最长的有效括号子串是“()”,其长度为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))

    ----蚂蚁不在线
  • 相关阅读:
    PYTHON 函数总结
    PYTHON 模块总结
    python例题21--30
    python例题11--20
    python例题 1--10
    如何选中表格内同类名的某一行?
    table表格td内内容自动换行
    layer弹出层传值到父页面
    DIV内数据删除操作
    锚记搞定窗口滚动
  • 原文地址:https://www.cnblogs.com/offline-ant/p/9387841.html
Copyright © 2011-2022 走看看