কম্পিউটার

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


ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যার নাম nums এবং আরেকটি মান লক্ষ্য। আমাদের লক্ষ্যের চেয়ে বড় সংখ্যার জোড়ার সর্বনিম্ন যোগফল খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[2, 4, 6, 10, 14] লক্ষ্য =10, তাহলে আউটপুট হবে 12, যেমন আমরা 2 এবং 10 বেছে নিই

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

  • তালিকা সংখ্যা সাজান
  • n :=সংখ্যার আকার
  • উত্তর :=10^10
  • i :=0, j :=n - 1
  • যখন i
  • যদি nums[i] + nums[j]> টার্গেট হয়, তাহলে
    • উত্তর :=সর্বনিম্ন উত্তর এবং (সংখ্যা[i] + সংখ্যা[j])
    • j :=j - 1
  • অন্যথায়,
    • i :=i + 1
  • উত্তর ফেরত দিন
  • আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    উদাহরণ

    class Solution:
       def solve(self, nums, target): nums.sort()
          n = len(nums)
          answer = 10 ** 10
          i, j = 0, n - 1
          while i < j:
             if nums[i] + nums[j] > target:
                answer = min(answer, nums[i] + nums[j])
                j -= 1
             else:
                i += 1
          return answer
    ob = Solution()
    nums = [2, 4, 6, 10, 14]
    target = 10
    print(ob.solve(nums, target))

    ইনপুট

    [2, 4, 6, 10, 14], 10

    আউটপুট

    12

    1. পাইথনে বৃহত্তম K সাবলিস্টের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম

    2. সাবলিস্টের যোগফল চেক করার প্রোগ্রাম প্রদত্ত তালিকা পাইথনের মোট যোগফলের থেকে কঠোরভাবে বেশি

    3. কয়েকটি সংখ্যার গুণফল খুঁজে বের করার প্রোগ্রাম যার যোগফল পাইথনে দেওয়া হয়েছে

    4. পাইথনে লক্ষ্যের চেয়ে বৃহত্তর ক্ষুদ্রতম অক্ষর খুঁজুন