在Python中查找删除k个连续重复字符后的字符串的程序
假设我们有一个字符串s和另一个值k,我们重复地删除最早的k个连续重复字符,并返回最终的字符串。
因此,如果输入为s =“paaappmmmma” k = 3,则输出将为“ma”,因为当我们删除三个“a”以获取“pppmmmma”时。然后我们删除三个“p”以获得“mmmma”。然后删除四个“m”中的三个以获得“ma”。
要解决这个问题,我们将执行以下步骤:
- 无限地执行以下步骤,即
- count:= 0
- chars:=从s获取唯一字符
- 对于chars中的每个字符c,请执行以下操作
- 如果s中存在k个连续的c,则
- 从s中删除k个连续的c
- count:= count + 1
- 如果count与0相同,则
- 退出循环
- 返回
请看以下实现以更好地了解:
更多Python相关文章,请阅读:Python 教程
示例
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