从Python中的给定字符串中查找最长有效括号长度的程序

假设我们有一个字符串s。这仅包括打开和关闭括号。我们必须找到最长的有效(格式正确)括号子字符串的长度。因此,如果输入类似“))(())()),则结果将为6,因为有效字符串为“(())()”。

例 

让我们看下面的实现以更好地理解-

class Solution(object):

   def solve(self, s):

      stack = [-1]

      ans = 0

      for i in range(len(s)):

         if s[i] == "(":

            stack.append(i)

         else:

            if stack and stack[-1]!=-1 and s[stack[-1]] == "(":

               stack.pop()

               ans = max(ans,i - stack[-1])

            else:

               stack.append(i)

      return ans

ob = Solution()

print(ob.solve("))(())())"))

输入值

"))(())())"
输出结果
6

以上是 从Python中的给定字符串中查找最长有效括号长度的程序 的全部内容, 来源链接: utcz.com/z/358798.html

回到顶部