在Python中查找删除k个连续重复字符后的字符串的程序

在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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程