删除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
    猜你喜欢