কম্পিউটার টিউটোরিয়াল

পাইথনে ১-বিট ও ২-বিট ক্যারেক্টার (1-bit and 2-bit Characters)


সমস্যা বিবরণ

দুটি বিশেষ ক্যারেক্টার: ১-বিট = 0, ২-বিট = 10 বা 11। একটি বিট স্ট্রিং দেওয়া থাকে যা সবসময় 0 দিয়ে শেষ হয়। শেষ ক্যারেক্টারটি ১-বিট ক্যারেক্টার (0) কিনা তা যাচাই করুন।

উদাহরণ

bits = [1,0,0] → আউটপুট: True

ডিকোড: 10 (২-বিট) + 0 (১-বিট) → শেষটি ১-বিট।

এলগরিদম

  1. i = 0।
  2. while i < len(bits) - 1 (শেষ ০ বাদে):
    • যদি bits[i] == 1 → i += 2 (২-বিট ক্যারেক্টার)।
    • অন্যথায় → i += 1 (১-বিট ক্যারেক্টার)।
  3. লুপ শেষ হলে i == len(bits) - 1 হলে True (শেষ ০ অটকে আছে), অন্যথায় False।

পাইথন বাস্তবায়ন

class Solution:
    def isOneBitCharacter(self, bits):
        i = 0
        while i < len(bits) - 1:
            i += 2 if bits[i] == 1 else 1
        return i == len(bits) - 1

ob = Solution()
print(ob.isOneBitCharacter([1,0,0]))  # True
print(ob.isOneBitCharacter([1,1,1,0]))  # False

ইনপুট / আউটপুট

ইনপুট: [1,0,0]
আউটপুট: True
  1. পাইথনে পারমুটেশন ও কম্বিনেশন (Permutation and Combination in Python)

  2. পাইথনে দिये गये স্ট্রিংয়ে বড় ও ছোট হাতের অক্ষর গণনা করার প্রোগ্রাম

  3. পাইথনে map ফাংশন ও ল্যাম্বডা এক্সপ্রেশন ব্যবহার করে ক্যারেক্টার রিপ্লেস করার প্রোগ্রাম

  4. পাইথনে =+ এবং += অপারেটরের পার্থক্য