কম্পিউটার

পাইথনে প্রোগ্রামার কনভেনশনের ব্যবস্থা ঠিক আছে কি না তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের একটি সংখ্যা n আছে, এটি একটি কনভেনশনে প্রবেশ করতে চাইছেন এমন প্রোগ্রামারদের প্রতিনিধিত্ব করছে, এবং আমাদের কাছে সংখ্যার একটি তালিকাও রয়েছে, কনভেনশন 1 একটি প্রোগ্রামারকে প্রতিনিধিত্ব করে এবং 0 প্রতিনিধিত্বকারী স্থান। এখন শর্ত হল কোন দুই প্রোগ্রামার একে অপরের পাশে বসতে পারবে না, আমাদের সব n প্রোগ্রামার কনভেনশনে প্রবেশ করতে পারবে কি না তা পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি n =2, কনভেনশন =[0, 0, 1, 0, 0, 0, 1] এর মত হয়, তাহলে আউটপুট হবে True

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

  • এর জন্য 0 থেকে রূপান্তরের আকারের মধ্যে, করুন
    • a:=0 যখন i-1 <0 অন্যথায় i-1
    • b:=রূপান্তর -1 এর আকার যখন i+1>=রূপান্তরের আকার অন্যথায় i+1
    • যদি conv[i] 0 এর মত হয় এবং conv[a] 0 এর মত হয় এবং conv[b] 0 এর মত হয়, তাহলে
      • রূপ[i]:=1
      • n :=n - 1
  • সত্য ফেরত দিন যখন n <=0, অন্যথায় 0।

উদাহরণ

class Solution:
   def solve(self, n, conv):
      for i in range(len(conv)):
         a=0 if i-1<0 else i-1
         b=len(conv)-1 if i+1>=len(conv) else i+1
         if conv[i]==0 and conv[a]==0 and conv[b]==0:
            conv[i]=1
            n-=1
      return n<=0
ob = Solution()
n = 2
convention = [0, 0, 1, 0, 0, 0, 1]
print(ob.solve(n, convention))

ইনপুট

2, [0, 0, 1, 0, 0, 0, 1]

আউটপুট

True

  1. হিপ চেক করার প্রোগ্রামটি পাইথনে সর্বোচ্চ হিপ তৈরি করছে নাকি নয়

  2. স্ট্রিং চেক করার প্রোগ্রাম একে অপরের ঘূর্ণন হয় না পাইথনে নয়

  3. পয়েন্ট চেক করার প্রোগ্রাম অবতল বহুভুজ গঠন করছে নাকি পাইথনে নয়

  4. পয়েন্ট চেক করার প্রোগ্রামটি পাইথনে উত্তল হুল তৈরি করছে বা না