কম্পিউটার

পাইথনে বিকল্প 0 এবং 1s সহ একটি বাইনারি স্ট্রিং পুনরায় সাজানো সম্ভব কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি বাইনারি স্ট্রিং আছে যার দৈর্ঘ্য 2 বা তার বেশি। আমাদের চেক করতে হবে যে আমরা s কে এমনভাবে সাজাতে পারি যাতে বিকল্প 0 এবং 1s থাকে।

সুতরাং, যদি ইনপুটটি s ="1000111" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ আমরা s থেকে "1010101" গঠন করতে পারি।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • one_count :=বাইনারি স্ট্রিং s এ 1 এর গণনা
  • zero_count :=বাইনারি স্ট্রিং s এ 0 এর গণনা
  • যদি s-এর আকার জোড় হয়, তাহলে
    • যখন এক_গণনা শূন্য_গণনার সমান হয় অন্যথায় মিথ্যা
    • তখন সত্য প্রত্যাবর্তন করুন
  • সত্য প্রত্যাবর্তন যখন |one_count - zero_count| 1 এর মতই অন্যথায় মিথ্যা

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

def solve(s):
   one_count = s.count('1')
   zero_count = s.count('0')
   if len(s) % 2 == 0 :
      return (one_count == zero_count)
   return abs(one_count - zero_count) == 1
s = "1000111"
print(solve(s))

ইনপুট

"1000111"

আউটপুট

True

  1. পাইথনে ভেক্টর এ ঘুরিয়ে এবং ভেক্টর সি যোগ করে ভেক্টর বি-তে পৌঁছানো সম্ভব কিনা তা পরীক্ষা করুন

  2. পাইথনে DFA ব্যবহার করে 3-এর বাইনারি স্ট্রিং মাল্টিপল আছে কিনা তা পরীক্ষা করুন

  3. Python - একটি ভেরিয়েবল স্ট্রিং কিনা তা পরীক্ষা করুন

  4. পাইথনে সাবস্ট্রিং দিয়ে স্ট্রিং বা স্ট্রিংয়ের একটি সাবস্ট্রিং শুরু হয় কিনা তা কীভাবে পরীক্ষা করবেন?