Python程式:刪除連續重複字元後查詢字串
假設我們有一個字串 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
- 如果 s 中包含 k 個連續的 c,則
- 如果 count 等於 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP