কম্পিউটার

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


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

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[3, 4, 5, 10, 7], তাহলে আউটপুট হবে 1, যেহেতু আমরা এই জোড়াগুলি (3 + 7) - (4 + 5) =1 নির্বাচন করতে পারি।

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

  • দূরত্ব :=একটি নতুন তালিকা
  • আমি 0 থেকে সংখ্যার আকার - 2 এর মধ্যে, কর
    • j এর জন্য i + 1 থেকে nums - 1 এর আকার, do
      • একটি তালিকা [|সংখ্যা[i] - সংখ্যা[j]| সন্নিবেশ করান , i, j] দূরত্বের শেষে
    • তালিকা দূরত্ব বাছাই করুন
    • উত্তর :=1^9
    • আমার জন্য 0 থেকে দূরত্বের আকার - 2, করুন
      • [dist, i1, i2] :=দূরত্ব[i]
      • j :=i + 1
      • [dist2, i3, i4] :=দূরত্ব[j]
      • যদিও j <দূরত্বের আকার এবং (i1, i2, i3, i4) উপাদানগুলি অনন্য নয়, করুন
        • [dist2, i3, i4] :=দূরত্ব[j]
        • j :=j + 1
      • যদি (i1, i2, i3, i4) উপাদানগুলি অনন্য হয়, তাহলে
        • উত্তর :=সর্বনিম্ন উত্তর এবং (dist2 - dist)
      • উত্তর ফেরত দিন

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

উদাহরণ কোড

class Solution:
   def solve(self, nums):
      distances = []
      for i in range(len(nums) - 1):
         for j in range(i + 1, len(nums)):
            distances.append((abs(nums[i] - nums[j]), i, j))
      distances.sort()
      ans = 1e9
      for i in range(len(distances) - 1):
         dist, i1, i2 = distances[i]
         j = i + 1
         dist2, i3, i4 = distances[j]
         while j < len(distances) and len({i1, i2, i3, i4}) != 4:
            dist2, i3, i4 = distances[j]
            j += 1
         if len({i1, i2, i3, i4}) == 4:
            ans = min(ans, dist2 - dist)
      return ans

ob = Solution()
nums = [3, 4, 5, 10, 7]
print(ob.solve(nums))

ইনপুট

[3, 4, 5, 10, 7]

আউটপুট

1

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

  2. পাইথনে প্রথম n বিজোড় সংখ্যার যোগফল বের করার প্রোগ্রাম

  3. পাইথনে দুটি সংখ্যার স্থানান্তরিত টেবিলের মধ্যে ন্যূনতম পার্থক্য খুঁজুন

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