কম্পিউটার

পাইথনে দূরত্ব পরপর নয় এমন ক্ষুদ্রতম জোড়া যোগফল খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে বলা সংখ্যার একটি তালিকা আছে। এখন আসুন আমরা যেকোন জোড়া সূচক (i, j) বিবেচনা করি যেখানে i 1। তারপর সবচেয়ে ছোট জোড়ের যোগফল বের করি।

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[3, 4, 2, 2, 4], তাহলে আউটপুট হবে 5, আমরা 3 এবং 2 মান নির্বাচন করতে পারি তাই মোট যোগফল 5। আমরা 2 এবং 2 নির্বাচন করতে পারি না কারণ তারা সংলগ্ন, এবং j - i> 1 সীমাবদ্ধতা লঙ্ঘন করছে৷

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

  • n :=সংখ্যার আকার
  • min_seen :=সংখ্যা[0]
  • উত্তর :=inf
  • 2 থেকে n - 1 রেঞ্জের জন্য, করুন
    • উত্তর :=সর্বনিম্ন উত্তর এবং (মিনিমাম_দেখা + সংখ্যা[i])
    • min_seen :=সর্বনিম্ন min_seen এবং nums[i - 1]
  • উত্তর ফেরত দিন

উদাহরণ

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

def solve(nums):
   n = len(nums)
   min_seen = nums[0]

   ans = float("inf")

   for i in range(2, n):
      ans = min(ans, min_seen + nums[i])

      min_seen = min(min_seen, nums[i - 1])
   return ans

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

ইনপুট

[3, 4, 2, 2, 4]

আউটপুট

5

  1. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

  2. পাইথন প্রোগ্রাম একটি তালিকার ক্রমবর্ধমান যোগফল খুঁজে বের করতে

  3. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম

  4. একটি 2D অ্যারেতে k'th ক্ষুদ্রতম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম