在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
    猜你喜欢