কম্পিউটার

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


ধরুন আমাদের কাছে ইতিবাচক মান সহ টার্গেট নামক একটি অ্যারে আছে। এখন সমস্ত শূন্য সহ একই আকারের একটি অ্যারের প্রারম্ভিক বিবেচনা করুন। আমরা যদি এই অপারেশনটি করি তাহলে প্রাথমিক থেকে একটি টার্গেট অ্যারে তৈরি করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক ক্রিয়াকলাপ খুঁজে বের করতে হবে:(প্রাথমিক থেকে যেকোনো সাবয়ারে নির্বাচন করুন এবং প্রতিটি মান একটি করে বৃদ্ধি করুন।)

সুতরাং, যদি ইনপুট টার্গেট =[2,3,4,3,2] এর মত হয়, তাহলে আউটপুট হবে 4 কারণ প্রাথমিকভাবে অ্যারে ছিল [0,0,0,0,0] প্রথম পাস সূচক 0 থেকে সাবয়ারে নির্বাচন করুন 4 এবং এটিকে 1 দ্বারা বাড়ান, তাই অ্যারে হবে [1,1,1,1,1], তারপর আবার এটিকে [2,2,2,2,2] করতে সূচক 0 থেকে 4 থেকে নির্বাচন করুন, তারপর থেকে উপাদানগুলি নির্বাচন করুন সূচী 1 থেকে 3 এবং বৃদ্ধি, তাই অ্যারে হবে [2,3,3,3,2], এবং সবশেষে সূচী 2 নির্বাচন করুন এবং অ্যারে তৈরি করুন [2,3,4,3,2] যা লক্ষ্যের সমান।

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

  • prev_num :=0

  • ধাপ :=0

  • লক্ষ্যে প্রতিটি ভ্যালের জন্য, করুন

    • ধাপ :=ধাপ + val - prev_num যদি val> prev_num অন্যথায় 0

    • prev_num :=val

  • প্রত্যাবর্তনের পদক্ষেপগুলি

উদাহরণ

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

def solve(target):
   prev_num = 0
   steps = 0
   for val in target:
      steps += val-prev_num if val > prev_num else 0
      prev_num = val
   return steps

target = [2,3,4,3,2]
print(solve(target))

ইনপুট

[2,3,4,3,2]

আউটপুট

4

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

  2. পাইথনে লক্ষ্যে পৌঁছানোর জন্য কয়েনের সংমিশ্রণের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে শেষ সূচকে পৌঁছানোর জন্য ন্যূনতম ধাপের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে n পর্যন্ত যোগ করার জন্য ফিবোনাচি সংখ্যার ন্যূনতম সংখ্যা খুঁজে বের করার প্রোগ্রাম?