使括号在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