用 Python 編寫程式對字串的執行長度編碼形式解碼成正常形式
假設我們有一個字串 s。s 是執行長度編碼的字串,我們需要找到其解碼版本。眾所周知,執行長度編碼是一種快速簡單的方法來對字串進行編碼。其思想如下 - 將重複連續出現的元素(字元)編碼為數量和字元的組合。例如,如果字串是“BBBBAAADDCBB”,則將被編碼為“4B3A2D1C2B”。
所以,如果輸入類似 s = “4B3A2D1C2B”,則輸出將是“BBBBAAADDCBB”。
為了解決這個問題,我們將遵循以下步驟 -
- output := 空字串
- num:= 空字串
- 對 s 中的每個字元 i 執行以下操作
- 如果 i 是字母,則
- output := output + i*(num 作為數字)
- num:= 空字串
- 否則
- num := num + i
- 如果 i 是字母,則
- 返回 output
讓我們看看以下實現,以幫助我們更好地理解 -
示例
class Solution: def solve(self, s): output = "" num="" for i in s: if i.isalpha(): output+=i*int(num) num="" else: num+=i return output ob = Solution() print(ob.solve("4B3A2D1C2B"))
輸入
"4B3A2D1C2B"
輸出
BBBBAAADDCBB
廣告