কম্পিউটার

পাইথনে বাইনারি স্ট্রিং বিকল্পের জন্য প্রয়োজনীয় ন্যূনতম পরিবর্তনগুলি খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের একটি বাইনারি স্ট্রিং s আছে। আসুন আমরা একটি অপারেশন বিবেচনা করি যেখানে আমরা কিছুটা উল্টাতে পারি। দুটি সন্নিহিত অক্ষর একই না হলে স্ট্রিং s কে বিকল্প স্ট্রিং বলা হয়। আমাদের s বিকল্প করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি s ="11100011" এর মত হয়, তাহলে আউটপুট হবে 3 কারণ আমরা যদি 1, 4 এবং 7 অবস্থানে বিটগুলি ফ্লিপ করি, তাহলে, এটি হবে "10101010", তাহলে সবগুলিই পর্যায়ক্রমে হয়৷

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

  • পরিবর্তন :=0

  • even_1 :=0, even_0 :=0

  • odd_1 :=0, odd_0 :=0

  • i এর জন্য 0 থেকে s - 1 এর আকারের মধ্যে, করুন

    • যদি আমি সমান হয়, তাহলে

      • যদি s[i] '1' এর মত হয়, তাহলে

        • even_1 :=even_1 + 1

      • অন্যথায়,

        • even_0 :=even_0 + 1

    • অন্যথায়,

      • যদি s[i] '1' এর মত হয়, তাহলে

        • odd_1 :=odd_1 + 1

      • অন্যথায়,

        • odd_0 :=odd_0 + 1

  • যদি (even_1+odd_0)> (even_0+odd_1), তারপর

    • পরিবর্তন :=even_0 + odd_1

  • অন্যথায়,

    • পরিবর্তন :=even_1 + odd_0

  • রিটার্ন পরিবর্তন

উদাহরণ (পাইথন)

আরও ভালোভাবে বোঝার জন্য আসুন আমরা নিম্নলিখিত বাস্তবায়ন দেখি &minnus;

def solve(s):
   change = 0
   even_1 = 0
   even_0 = 0
   odd_1 = 0
   odd_0 = 0
   for i in range(len(s)):
      if(i%2 == 0):
         if(s[i]=='1'):
            even_1 +=1
         else:
            even_0 +=1
      else:
         if(s[i] == '1'):
            odd_1 +=1
         else:
            odd_0 +=1
   if((even_1+odd_0)>(even_0+odd_1)):
      change = even_0 + odd_1
   else:
      change = even_1 + odd_0
   return change

s = "11100011"
print(solve(s))

ইনপুট

"11100011"

আউটপুট

3

  1. পাইথন ব্যবহার করে একটি বাইনারি গ্রিড সাজানোর জন্য সর্বনিম্ন অদলবদল খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে বাইনারি গাছের দীর্ঘতম বিকল্প পথের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে একটি স্ট্রিং সাবস্ট্রিং অন্যটির জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার প্রোগ্রাম

  4. সংখ্যার ন্যূনতম যোগফল নির্ণয়ের জন্য পাইথন প্রোগ্রাম