কম্পিউটার

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


ধরুন আমাদের কাছে A এবং B নামে দুটি সংখ্যার তালিকা আছে এবং তাদের দৈর্ঘ্য একই। আমাদের সব 0 ≤ i

সুতরাং, যদি ইনপুটটি A =[2, 4, 10, 6] B =[3, 4, 7, 5] এর মত হয়, তাহলে আউটপুট হবে 14, যেমন i =0 এবং j =2 এবং আমরা পাই | 2 - 10| + |3 - 7| + |1 - 3|।

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

  • উত্তর :=0
  • n :=a এর আকার
  • প্রতি জোড়ার জন্য (s, t) [(-1, -1),(-1, 1),(1, -1) ,(1, 1) ], do
    • cur_min :=অসীম
    • cur_max :=-অনন্ত
    • আমি 0 থেকে n রেঞ্জের জন্য, কর
      • tmp :=s * a[i] + t * b[i] + i
      • cur_min :=ন্যূনতম cur_min, tmp
      • cur_max :=cur_max এর সর্বোচ্চ, tmp
    • উত্তর :=সর্বাধিক উত্তর, (cur_max - cur_min)
  • উত্তর ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, a, b):
      ans = 0
      n = len(a)
      for s, t in [(-1, -1), (-1, 1), (1, -1), (1, 1)]:
         cur_min = float("inf")
         cur_max = float("-inf")
         for i in range(n):
            tmp = s * a[i] + t * b[i] + i
            cur_min = min(cur_min, tmp)
            cur_max = max(cur_max, tmp)
            ans = max(ans, cur_max - cur_min)
      return ans
ob = Solution()
A = [2, 4, 10, 6]
B = [3, 4, 7, 5]
print(ob.solve(A, B))

ইনপুট

[2, 4, 10, 6],[3, 4, 7, 5]

আউটপুট

14

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

  2. দুটি সাজানো অ্যারে থেকে সবচেয়ে কাছের জুটির সন্ধানের জন্য পাইথন প্রোগ্রাম

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

  4. একটি তালিকা থেকে N বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম