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

Python में सरणी में ट्रिपलेट का अधिकतम योग ढूंढना जैसे कि i < j < k और a[i] < a[j] < a[k]


मान लीजिए हमारे पास धनात्मक संख्याओं की एक सरणी है, उस सरणी में n तत्व हैं, हमें ट्रिपलेट (ai + aj + ak) का अधिकतम योग ढूंढना है जैसे कि 0 <= i < j < k < n और ai < aj < ak।

तो, यदि इनपुट A = [3,6,4,2,5,10] की तरह है, तो आउटपुट 19 होगा क्योंकि ट्रिपलेट हैं (3 4 5): योग = 12, (3 6 10): योग = 19, (3 4 10): योग = 17, (4 5 10): योग = 19, (2 5 10): योग = 17। तो अधिकतम 19 है।

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

  • n := A का आकार

  • res := 0

  • i के लिए 1 से n - 1 की सीमा में, करें

    • first_max := 0, second_max := 0

    • j के लिए 0 से i की सीमा में, करें

      • यदि A[j] < A[i], तो

        • first_max := first_max, A[j] का अधिकतम

    • j के लिए i + 1 से n की सीमा में, करें

      • यदि A[j] > A[i], तो

        • second_max := second_max, A[j] का अधिकतम

    • यदि first_max और second_max शून्येतर हैं, तो

      • res := res, first_max + A[i] + second_max का अधिकतम

  • res वापस करें

उदाहरण

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

def get_max_triplet_sum(A) :     n = len(A)     res = 0     for i in range(1, (n - 1)) :         first_max = 0         second_max = 0         for j in range(0, i) :             if (A[j] < A[i]) :                 first_max = max(first_max, A[j])         for j in range((i + 1), n) :             if (A[j] > A[i]) :                 second_max = max(second_max, A[j])         if (first_max and second_max):             res = max(res, first_max + A[i] + second_max)     return res A = [3,6,4,2,5,10] print(get_max_triplet_sum(A))

इनपुट

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

आउटपुट

19

  1. - पायथन में अधिकतम योग के लिए सरणी विभाजन

    मान लीजिए हमारे पास एक पूर्णांक सरणी A है, हमें सरणी को (सन्निकट) सबएरे में विभाजित करना है जिनकी लंबाई अधिकतम K है। विभाजन के बाद, प्रत्येक सबएरे के मान उस सबएरे के अधिकतम मान में बदल जाते हैं। हमें विभाजन के बाद दी गई सरणी का सबसे बड़ा योग ढूंढना है। इसलिए यदि इनपुट [1, 15, 7, 9, 2, 5, 10] और k =

  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे का योग निकालने की आवश्यकता है। पूरे ऐरे को पार करने और प्रत्येक इंडेक्स पर तत्व को जोड़कर योग प्राप्त करने का ब्रूट-फोर्स दृष्टिकोण नीचे चर्चा किया गया है। उदाहरण # sum फ़ंक्शन def

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें