কম্পিউটার

পাইথনে তিনটি ভিন্ন সাজানো অ্যারে থেকে মিনিমাইজ (সর্বোচ্চ(A[i], B[j], C[k]) – min(A[i], B[j], C[k]))


ধরুন আমাদের তিনটি সাজানো অ্যারে রয়েছে A, B, এবং C (এগুলি বিভিন্ন আকারের হতে পারে), আমাদের যেকোন ট্রিপলেট (A[i], B[j] এর সর্বোচ্চ এবং সর্বনিম্ন সংখ্যার মধ্যে সর্বনিম্ন পরম পার্থক্য গণনা করতে হবে, C[k]) যেমন তারা যথাক্রমে A, B এবং C এর অধীনে,

সুতরাং, যদি ইনপুটটি A :[ 2, 5, 6, 9, 11 ], B :[ 7, 10, 16 ], C :[ 3, 4, 7, 7 ] এর মত হয়, তাহলে আউটপুট হবে 1 হিসাবে এ [i], B[j], C[k])) =|7-6| =1

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

  • i :=A - 1 এর আকার
  • j :=B - 1 এর আকার
  • k :=C - 1 এর আকার
  • সর্বনিম্ন_ডিফারেন্স :=|সর্বোচ্চ A[i], B[j], C[k] - সর্বনিম্ন A[i], B[j], C[k]|
  • যদিও i -1 এর মতো নয় এবং j -1 এর মতো নয় এবং k -1 এর মতো নয়, do
    • কারেন্ট_ডিফ :=|সর্বোচ্চ A[i], B[j], C[k] - সর্বনিম্ন A[i], B[j], C[k]|
    • যদি current_diff
    • সর্বনিম্ন_ডিফারেন্স :=বর্তমান_ডিফ
  • সর্বোচ্চ_ মেয়াদ :=সর্বোচ্চ A[i], B[j], C[k]
  • যদি A[i] সর্বোচ্চ_টার্মের সমান হয়, তাহলে
    • i :=i - 1
  • অন্যথায় যখন B[j] সর্বাধিক_টার্মের সমান হয়, তখন
    • j :=j - 1
  • অন্যথায়,
    • k :=k - 1>
  • রিটার্ন মিনিমাম_ডিফারেন্স
  • উদাহরণ

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

    def solve(A, B, C):
       i = len(A) - 1
       j = len(B) - 1
       k = len(C) - 1
       minimum_dfference = abs(max(A[i], B[j], C[k]) - min(A[i], B[j], C[k]))
       while i != -1 and j != -1 and k != -1:
          current_diff = abs(max(A[i], B[j], C[k]) - min(A[i], B[j], C[k]))
          if current_diff < minimum_dfference:
             minimum_dfference = current_diff
          maximum_term = max(A[i], B[j], C[k])
          if A[i] == maximum_term:
             i -= 1
          elif B[j] == maximum_term:
             j -= 1
          else:
             k -= 1
       return minimum_dfference
    A = [ 2, 5, 6, 9, 11 ]
    B = [ 7, 10, 16 ]
    C = [ 3, 4, 7, 7 ]
    print(solve(A, B, C))

    ইনপুট

    A = [ 2, 5, 6, 9, 11 ] B = [ 7, 10, 16 ] C = [ 3, 4, 7, 7 ]

    আউটপুট

    1

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

    2. Heapq ব্যবহার করে পাইথনে দুটি সাজানো অ্যারে মার্জ করবেন?

    3. পাইথন প্রোগ্রাম তিনটি সাজানো অ্যারে সাধারণ উপাদান খুঁজে পেতে?

    4. পাইথনে ints-এর জন্য সর্বোচ্চ এবং সর্বনিম্ন মান কীভাবে জানবেন?