Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

1-bit and 2-bit Characters ใน Python: ตรวจสอบตัวอักษรสุดท้ายเป็น 1-bit หรือไม่

มีตัวอักษร 2 ประเภท: 1-bit = 0, 2-bit = 10 หรือ 11 ให้สตริงบิตที่จบด้วย 0 เสมอ ตรวจสอบว่าตัวอักษรสุดท้ายเป็น 1-bit (0) หรือไม่

ตัวอย่าง

[1,0,0] → ถอดรหัสได้: 10 (2-bit) + 0 (1-bit) → ตัวสุดท้ายเป็น 1-bit → True

ขั้นตอนการแก้ปัญหา

  1. วนจนความยาวบิต > 1
  2. ดึงบิตแรก (pop(0))
  3. ถ้าบิตแรกเป็น 1 → ดึงบิตถัดไปอีก 1 ตัว (รวมเป็น 2-bit)
  4. ถ้าหมดบิต → คืน False
  5. จบลูป: คืน True ถ้าบิตที่เหลือเป็น 0

การติดตั้งใน Python

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]))  # True

อินพุต / เอาต์พุต

Input: [1,0,0]
Output: True