Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình giải mã một dạng chuỗi có độ dài chạy thành dạng bình thường trong Python

Giả sử chúng ta có một chuỗi s. S là một chuỗi được mã hóa có độ dài lần chạy, chúng ta phải tìm phiên bản đã giải mã của nó. Như chúng ta đã biết, mã hóa độ dài chạy là một phương pháp mã hóa chuỗi ký tự nhanh và đơn giản. Ý tưởng như sau - Các phần tử (ký tự) liên tiếp được lặp lại như một số đếm và ký tự duy nhất. Ví dụ:nếu chuỗi giống như "BBBBAAADDCBB" sẽ được mã hóa thành "4B3A2D1C2B".

Vì vậy, nếu đầu vào là s =​​"4B3A2D1C2B", thì đầu ra sẽ là "BBBBAAADDCBB"

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đầu ra:=chuỗi trống
  • num:=chuỗi trống
  • đối với mỗi ký tự tôi trong s, thực hiện
    • nếu tôi là bảng chữ cái, thì
      • output:=output + i * (num là số)
      • num:=chuỗi trống
    • nếu không,
      • num:=num + i
  • trả về kết quả đầu ra

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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"))

Đầu vào

"4B3A2D1C2B"

Đầu ra

BBBBAAADDCBB