使括号在Python中有效的最小添加

假设我们有一个字符串“(”和“)”作为圆括号,我们在任意位置加上最小的圆括号,这样得到的圆括号字符串就是有效的。仅当且仅当-时,括号字符串才有效-

  • 这是空字符串

  • 可以写为XY(X与Y串联),其中X和Y是有效字符串

  • 它可以表示为(A),其中A是有效字符串。

因此,如果字符串类似于“(()))((”,那么我们需要再添加4个括号以使字符串有效。

为了解决这个问题,我们将遵循以下步骤-

  • 如果S为空,则返回0

  • count:= 0,temp是一个数组,temp_counter:= 0

  • 为了我在S

    • 当temp的长度> 0并且的最后一个元素在括号中时,则删除temp的最后一个元素,否则将i插入temp

    • 如果我打开括号,则将我插入temp

    • 除此以外

    • 返回temp的大小。

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

    示例

    class Solution:

       def minAddToMakeValid(self, S):

          if not S:

             return 0

          count = 0

          temp = []

          temp_counter = 0

          for i in S:

             if i =='(':

                temp.append(i)

             else:

                if len(temp)>0 and temp[len(temp)-1] =='(':

                   temp.pop(len(temp)-1)

                else:

                   temp.append(i)

          return len(temp)

    ob = Solution()print(ob.minAddToMakeValid("()))(("))

    输入值

    "()))(("

    输出结果

    4

    以上是 使括号在Python中有效的最小添加 的全部内容, 来源链接: utcz.com/z/341166.html

    回到顶部