ধরুন আমাদের একটি বাইনারি স্ট্রিং আছে যার দৈর্ঘ্য 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