用 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