在Python中以正常形式将字符串编码为游程长度形式的程序
假设我们有一个字符串s。我们必须使用游程长度编码技术对此进行编码。众所周知,行程编码是一种快速而简单的字符串编码方法。想法如下-重复的连续元素(字符)为单个计数和字符。
因此,如果输入类似于s=“BBBBAAADDCBB”,则输出将为“4B3A2D1C2B”
为了解决这个问题,我们将遵循以下步骤-
res:=空字符串
tmp:=s的第一个字符
数:=1
对于1到s大小的范围内的i
数:=数+1
res:=res串联计数串联tmp
tmp:=s[i]
数:=1
如果s[i]与tmp不同,则
除此以外,
返回res串联计数,串联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