用 Python 將普通形式的字串編碼成其遊程長度形式的程式
假設我們有一個字串 s,我們必須使用遊程長度編碼技術對它進行編碼。我們知道,遊程長度編碼是一種快速而簡單的字串編碼方法。思路如下——將重複出現的連續元素(字元)用一個計數和一個字元表示。
因此,如果輸入為 s = “BBBBAAADDCBB”,那麼輸出將為 “4B3A2D1C2B”
為了解決這個問題,我們將按以下步驟操作——
- res := 空字串
- tmp := s 的第一個字元
- count := 1
- 對於 i 從 1 到 s 的大小,迴圈執行
- 如果 s[i] 與 tmp 不同,則
- res := res 拼接 count 拼接 tmp
- tmp := s[i]
- count := 1
- 否則,
- count := count + 1
- 如果 s[i] 與 tmp 不同,則
- 返回 res 拼接 count 拼接 tmp
讓我們看下面的實現以加深理解——
示例
class Solution:
def solve(self, s):
res = ""
tmp = s[0]
count = 1
for i in range(1,len(s)):
if s[i] != tmp:
res += str(count) + tmp
tmp = s[i]
count = 1
else:
count += 1
return res + str(count) + tmp
ob = Solution() print(ob.solve("BBBBAAADDCBB"))輸入
"BBBBAAADDCBB"
輸出
4B3A2D1C2B
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP