इस समस्या में, हमें दो सरणियाँ दी गई हैं, सकारात्मक और विशिष्ट। हमारा कार्य अधिकतम योग के साथ दो सरणियों से जोड़े का योग ज्ञात करना है ।
हम प्रत्येक सरणी से एक तत्व के साथ अधिकतम योग के साथ जोड़ी पाएंगे।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
Input : arr1[] = {3, 7, 5}, arr2[] = {8, 2, 4} Output : 15
स्पष्टीकरण -
Pairs is (7, 8) = 7 + 8 = 15
समाधान दृष्टिकोण
समस्या को हल करने का एक आसान तरीका लूप का उपयोग करना है। हम एक नेस्टेड लूप का उपयोग करेंगे और सभी जोड़ियों का योग ज्ञात करेंगे और जोड़ी को अधिकतम योग के साथ वापस करेंगे। एक कुशल दृष्टिकोण समस्या को हल करने के लिए प्रत्येक सरणी का अधिकतम तत्व ढूंढ रहा है। और फिर अधिकतम युग्म योग ज्ञात कीजिए। यह नेस्टेड लूप के बजाय एक साधारण लूप का उपयोग करेगा।
उदाहरण
हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम
#include <iostream> using namespace std; int findMaxPairSum(int arr1[], int n1, int arr2[], int n2) { int max1 = -1; int max2 = -1; for (int i = 0; i < n1; i++) { if (arr1[i] > max1) max1 = arr1[i]; } for (int i = 0; i < n2; i++) { if (arr2[i] > max2) max2 = arr2[i]; } return (max1 + max2); } int main() { int arr1[] = { 3, 7, 5 }; int arr2[] = { 8, 2, 4 }; int n1 = sizeof(arr1) / sizeof(arr1[0]); int n2 = sizeof(arr2) / sizeof(arr2[0]); cout<<"Sum of pair from two arrays with maximum sum is "<<findMaxPairSum(arr1, n1, arr2, n2); return 0; }
आउटपुट
Sum of pair from two arrays with maximum sum is 15
एक और तरीका सरणी को सॉर्ट कर रहा है। और फिर दोनों सरणियों के लिए अधिकतम मान तत्व ढूँढना और फिर अधिकतम युग्म योग ज्ञात करना।
उदाहरण
हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम
#include <bits/stdc++.h> using namespace std; int findMaxPairSum(int arr1[], int n1, int arr2[], int n2) { sort(arr1, arr1 + n1); sort(arr2, arr2 + n2); return (arr1[n1 - 1] + arr2[n2 - 1]); } int main() { int arr1[] = { 3, 7, 5 }; int arr2[] = { 8, 2, 4 }; int n1 = sizeof(arr1) / sizeof(arr1[0]); int n2 = sizeof(arr2) / sizeof(arr2[0]); cout<<"Sum of pair from two arrays with maximum sum is "<<findMaxPairSum(arr1, n1, arr2, n2); return 0; }
आउटपुट
Sum of pair from two arrays with maximum sum is 15