删除python中的k个连续重复字符后查找字符串的程序
假设我们有一个字符串s和另一个值k,我们重复删除最早的k个连续重复字符,并返回最后一个字符串。
因此,如果输入像s=“paaappmmmma”k=3,则输出将是“ma”,就像我们删除三个“a”以获得“pppmmmma”一样。然后我们删除三个“p”以获得“mmmma”。然后删除四个“m”中的三个以获得“ma”。
为了解决这个问题,我们将按照以下步骤操作:
无限执行以下步骤
从循环中出来
如果k个连续的c在s中,则
从s删除k个连续的c
数:=数+1
计数:=0
chars:=从s获得唯一字符
对于字符中的每个字符c,执行
如果计数等于0,则
返回
让我们看下面的实现以更好地理解:
示例
class Solution: def solve(self, s, k): while True: count = 0 chars = set(s) for c in chars: if c * k in s: s = s.replace(c * k, "") count += 1 if count == 0: break return s ob = Solution()s = "paaappmmmma" k = 3 print(ob.solve(s, k))
输入值
"paaappmmmma", 3
输出结果
ma