程序以查找Python中括号内的平衡组的最大数量
假设我们有一个包含平衡括号“(”和“)”的字符串s,我们必须将它们分成最大数量的平衡组。
因此,如果输入类似于“(()())()((())”),则输出将为['(()())','()','(())']
为了解决这个问题,我们将遵循以下步骤-
temp:=空字符串
组:=一个新列表
计数:=0
对于s中的每个字符b,
数:=数-1
数:=数+1
在组末插入temp
temp:=空字符串
如果count与0相同且temp的大小>0,则
temp:=temp并置b
如果b与'('相同,则
除此以外,
在组末插入temp
返回组
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, s):
temp = ''
groups = []
count = 0
for b in s:
if count == 0 and len(temp) > 0:
groups.append(temp)
temp = ''
temp += b
if b == '(':
count += 1
else:
count -= 1
groups.append(temp)
return groups
s = "(()())()(())"
ob = Solution()print(ob.solve(s))输入值
"(()())()(())"
输出结果
['(()())', '()', '(())']
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短