程序计算要删除的最小无效括号以使字符串在Python中正确

假设我们有一串括号;我们必须编写一个函数来计算要删除的最小括号数量,以使字符串正确(每个打开的括号最终都会关闭)。

因此,如果输入类似于“(()))(”,那么输出将为2,因为正确的字符串为“(())”,请删除“)(”。

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

  • 总计:= 0,温度:= 0

  • 对于s中的每个p

    • 温度:=温度+ 1

    • 总计:=总计-1

    • 总计:=总计+ 1

    • 如果p与“(”相同,则

    • 否则,当p与“)”相同且合计不为0时,则

    • 除此以外,

    • 返回总计+温度

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

    示例

    class Solution:

       def solve(self, s):

          total = 0

          temp = 0

          for p in s:

             if p == "(":

                total += 1

             elif p == ")" and total:

                total -= 1

             else:

                temp += 1

          return total + temp

    ob1 = Solution()string = "(()))("

    print(ob1.solve(string))

    输入值

    "(()))("

    输出结果

    2

    以上是 程序计算要删除的最小无效括号以使字符串在Python中正确 的全部内容, 来源链接: utcz.com/z/331079.html

    回到顶部