কম্পিউটার

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


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা রয়েছে এবং একটি লক্ষ্য মানও রয়েছে, আমাদের সংখ্যার বৃহত্তম জোড়া সংখ্যার যোগফল খুঁজে বের করতে হবে যার যোগফল সর্বাধিক (লক্ষ্য-1)।

সুতরাং, যদি ইনপুটটি nums =[8, 3, 4, 9, 2] টার্গেট =8 এর মত হয়, তাহলে আউটপুট হবে 7, কারণ 8 থেকে কম সংখ্যার বৃহত্তম জোড়ার যোগফল হল 4 + 3 =7।

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

  • তালিকা সংখ্যা সাজান
  • p1 :=0
  • p2 :=সংখ্যার আকার - 1
  • m :=-inf
  • যখন p1
  • যদি nums[p1] + nums[p2]
  • m :=সর্বাধিক m এবং (nums[p1] + nums[p2])
  • p1 :=p1 + 1
  • অন্যথায়,
    • p2 :=p2 - 1
  • রিটার্ন m
  • উদাহরণ

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

    import math
    def solve(nums, target):
       nums.sort()
       p1 = 0
       p2 = len(nums) - 1
       m = -math.inf
       while p1 < p2:
          if nums[p1] + nums[p2] < target:
             m = max(m, nums[p1] + nums[p2])
             p1 += 1
          else:
             p2 -= 1
       return m
    
    nums = [8, 3, 4, 9, 2]
    target = 8
    print(solve(nums, target))

    ইনপুট

    [8, 3, 4, 9, 2], 8

    আউটপুট

    7

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

    2. পাইথনে K-এর থেকে দুই যোগফল কম

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

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