访问量: 10 次浏览
假设我们有一个字符串 s 和另一个值 k,我们重复地删除最早的 k 个连续重复字符,并返回最终的字符串。
因此,如果输入为 s = "paaappmmmma" k = 3,则输出将为 "ma",因为当我们删除三个 "a" 以获取 "pppmmmma" 时。然后我们删除三个 "p" 以获得 "mmmma"。然后删除四个 "m" 中的三个以获得 "ma"。
要解决这个问题,我们将执行以下步骤:
count := 0chars := 从 s 获取唯一字符chars 中的每个字符 c,请执行以下操作s 中存在 k 个连续的 c,则s 中删除 k 个连续的 ccount := count + 1count 与 0 相同,则sclass 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