Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में तीन अलग-अलग सॉर्टेड ऐरे से अधिकतम-न्यूनतम अंतर को न्यूनतम करें


मान लीजिए हमारे पास तीन सॉर्टेड ऐरे 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 होगा क्योंकि A[i] = 6, B[j] = 7, C[k] = 7 चुनने पर न्यूनतम अंतर |7 - 6| = 1 मिलता है।

समाधान दृष्टिकोण

इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:

  • i := len(A) - 1
  • j := len(B) - 1
  • k := len(C) - 1
  • minimum_difference := |max(A[i], B[j], C[k]) - min(A[i], B[j], C[k])|
  • जब तक i != -1 और j != -1 और k != -1:
    • current_diff := |max(A[i], B[j], C[k]) - min(A[i], B[j], C[k])|
    • यदि current_diff < minimum_difference, तो minimum_difference := current_diff
    • maximum_term := max(A[i], B[j], C[k])
    • यदि A[i] == maximum_term, तो i := i - 1
    • अन्यथा यदि B[j] == maximum_term, तो j := j - 1
    • अन्यथा, k := k - 1
  • minimum_difference लौटाएं।

उदाहरण

बेहतर समझ के लिए निम्न कार्यान्वयन देखें:

def solve(A, B, C):
    i = len(A) - 1
    j = len(B) - 1
    k = len(C) - 1
    minimum_difference = 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_difference:
            minimum_difference = 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_difference

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. पायथन प्रोग्राम: दो क्रमबद्ध सरणियों से निकटतम जोड़ी खोजें पायथन प्रोग्राम: दो क्रमबद्ध सरणियों से निकटतम जोड़ी खोजें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें दो सरणियाँ दी गई हैं, हमें दो क्रमबद्ध सरणियों से निकटतम जोड़ी खोजने की आवश्यकता है। उदाहरण # sys मॉड्यूल import sys # जोड़ी def print_(ar1, ar2, m, n, x): # अंतर diff = sys.maxsize # इंडेक्स l = 0 r = n-1

  1. - तीन सॉर्ट की गई सरणियों में सामान्य तत्व खोजने का पायथन प्रोग्राम

    समस्या विवरण यहां पहले हम 3 सरणी बनाते हैं जो यूजर इनपुट अनसॉर्टेड सरणी हैं, फिर हम सभी 3 अनसॉर्टेड सरणियों को सॉर्ट करते हैं। सरणियों का आकार n1, n2, n3 है। प्रत्येक सरणी का प्रारंभिक पता 0 है। i=0, j=0, k=0, फिर तीनों सरणियों के सभी तत्वों को पार करें और जांचें कि तीनों सरणियों के तत्व समान हैं या

  1. - Python में ints के लिए अधिकतम और न्यूनतम मान कैसे जानें?

    Python में अधिकतम और न्यूनतम मान खोजना Python की कोर लाइब्रेरी में सूची या टपल ऑब्जेक्ट के रूप में संख्याओं के अनुक्रम से अधिकतम और न्यूनतम संख्या खोजने के लिए दो बिल्ट-इन फ़ंक्शन max() और min() हैं। उदाहरण >>> max(23, 21, 45, 43) 45 >>> l1 = [20, 50, 40, 30] >>> max(l1)