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

Các ký tự 1 bit và 2 bit trong Python

Giả sử chúng ta có hai ký tự đặc biệt. Ký tự đầu tiên có thể được biểu diễn bằng một bit 0. Và ký tự thứ hai có thể được biểu diễn bằng hai bit như (10 hoặc 11). Vì vậy, nếu chúng ta có một chuỗi được biểu diễn bằng một số bit. Chúng ta phải kiểm tra xem ký tự cuối cùng có phải là ký tự một bit hay không. Chuỗi đã cho sẽ luôn kết thúc bằng số không.

Vì vậy, nếu đầu vào giống như [1,0,0], thì đầu ra sẽ là True, vì cách duy nhất để giải mã nó là ký tự hai bit (10) và ký tự một bit (0). Vì vậy, ký tự cuối cùng là ký tự một bit.

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

  • trong khi kích thước bit> 1, thực hiện
  • current:=phần tử đầu tiên của các bit, sau đó xóa phần tử đầu tiên khỏi các bit
  • nếu hiện tại bằng 1, thì
    • xóa phần tử đầu tiên khỏi các bit
  • nếu kích thước của các bit bằng 0, thì
    • trả về Sai
  • trả về true khi bit [0] giống 0, ngược lại là false

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 isOneBitCharacter(self, bits):
      while len(bits) > 1:
         current = bits.pop(0)
         if current == 1:
            bits.pop(0)
      if len(bits) == 0:
         return False
      return bits[0] == 0
ob = Solution()
print(ob.isOneBitCharacter([1,0,0]))

Đầu vào

[1,0,0]

Đầu ra

True