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

C++ में ऐरे में अधिकतम ट्रिपलेट सम


इस समस्या में, हमें एक ऐरे दिया गया है। हमारा कार्य एक ऐसा प्रोग्राम बनाना है जो ऐरे में अधिकतम ट्रिपलेट सम ढूंढे यानी तीन एलिमेंट्स का समूह ढूंढे जिसका योग अधिकतम हो।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट − array = {4, 6, 1, 2}

आउटपुट − 12

व्याख्या −

सभी ट्रिपलेट्स हैं : (4, 6, 1) = 4+6+1 = 11 (4, 6, 2) = 4+6+1 = 12 (4, 1, 2) = 4+6+1 = 7 (6, 1, 2) = 4+6+1 = 9 अधिकतम ट्रिपलेट सम 12 है

समस्या को हल करने का एक सरल दृष्टिकोण वह है जिसे हमने उदाहरण में दर्शाया है, जो सभी ट्रिपलेट जोड़ियों के योग मान ले रहा है और फिर उनमें से अधिकतम ढूंढ रहा है। लेकिन यह दृष्टिकोण प्रभावी नहीं है क्योंकि ऐरे की लंबाई के साथ सभी ट्रिपलेट्स की संख्या बड़ी हो जाएगी।

इस विधि में, हम तीन लूप चलाएंगे जो सभी संभावित योग ट्रिपलेट्स ढूंढेंगे और यदि इस ट्रिपलेट का योग मैक्ससम से बड़ा है तो हम इस ट्रिपलेट योग को मैक्ससम के रूप में प्रारंभ करेंगे।

उदाहरण

हमारे समाधान को स्पष्ट करने वाला प्रोग्राम,

#include <iostream> using namespace std; int maxSum(int arr[], int n){    int maxSum = 0;    int i, j, k;    for (i = 0; i < n; i++)       for (j = i + 1; j < n; j++)          for (k = j + 1; k < n; k++)             if (maxSum < arr[i] + arr[j] + arr[k]) maxSum = arr[i] + arr[j] + arr[k];    return maxSum; } int main(){    int arr[] = { 3, 5, 7 ,1, 9, 0 };    int n = sizeof(arr) / sizeof(arr[0]);    cout<<"The maximum triplet sum of the array is "<<maxSum(arr, n);    return 0; }

आउटपुट

The maximum triplet sum of the array is 21

एक प्रभावी दृष्टिकोण ऐरे को सॉर्ट करना और फिर ऐरे के अंतिम तीन एलिमेंट्स का योग ढूंढना होगा जो ट्रिपलेट्स का अधिकतम योग होगा।

उदाहरण

समाधान को स्पष्ट करने वाला प्रोग्राम,

#include <bits/stdc++.h> using namespace std; int maxSum(int arr[], int n) {    sort(arr, arr + n);    return arr[n - 1] + arr[n - 2] + arr[n - 3]; } int main() {    int arr[] = { 3, 5, 9, 1, 2, 8, 7 };    int n = sizeof(arr) / sizeof(arr[0]);    cout<<"The maximum triplet sum of the array is "<<maxSum(arr, n);    return 0; }

आउटपुट

The maximum triplet sum of the array is 24

  1. - C++ में ऐरे में अधिकतम संतुलन योग

    समस्या कथन एक ऐरे arr[] दिया गया है। इंडेक्स i के लिए arr[] में अधिकतम प्रीफिक्स योग का मान ढूंढें जो सफिक्स योग भी हो। उदाहरण यदि इनपुट ऐरे है - Arr[] = {1, 2, 3, 5, 3, 2, 1} तो आउटपुट 11 है - प्रीफिक्स योग = arr[0..3] = 1 + 2 + 3 + 5 = 11 और सफिक्स योग = arr[3..6] = 5 + 3 + 2 + 1 = 11 एल्गोरिदम

  1. - C++ में ऐरे का अधिकतम औसत योग पार्टीशन

    समस्या कथन एक ऐरे दिया गया है, हम संख्याओं की एक पंक्ति A को अधिकतम K आसन्न (गैर-खाली) समूहों में पार्टीशन करते हैं, फिर स्कोर प्रत्येक समूह के औसत का योग होता है। अधिकतम स्कोर क्या हो सकता है? उदाहरण यदि इनपुट ऐरे है {9, 2, 5, 3, 10} तो हम ऐरे को निम्नानुसार पार्टीशन कर सकते हैं: {9} {2, 5, 3} और

  1. - C++ में सम ऐरे पजल (बिना घटाव ऑपरेटर के)

    यहां हम ऐरे से संबंधित एक रोचक समस्या देखेंगे। n तत्वों वाला एक ऐरे है। हमें n तत्वों का एक और ऐरे बनाना है। लेकिन दूसरे ऐरे का i-th स्थान पहले ऐरे के i-th तत्व को छोड़कर सभी तत्वों का योग रखेगा। और एक प्रतिबंध है कि हम इस समस्या में घटाव ऑपरेटर का उपयोग नहीं कर सकते। यदि हम घटाव ऑपरेशन का उपयोग कर