यहां हमारे पास कुछ तत्वों के साथ एक सरणी ए है। हमारा कार्य उस उपसमुच्चय को ज्ञात करना है जहाँ ज्यामितीय माध्य अधिकतम हो। मान लीजिए A =[1, 5, 7, 2, 0], तो सबसे बड़ा ज्यामितीय माध्य वाला उपसमुच्चय [5, 7] होगा।
इसे हल करने के लिए, हम एक तरकीब अपनाएंगे, हमें माध्य नहीं मिलेगा, क्योंकि हम जानते हैं कि सबसे बड़े दो तत्व सबसे बड़े ज्यामितीय माध्य का निर्माण करेंगे, इसलिए सबसे बड़े दो तत्वों को सबसेट के रूप में वापस किया जाएगा।
उदाहरण
#include <iostream> using namespace std; void largestGeoMeanSubset(int arr[], int n) { if (n < 2) { cout << "Very few number of elements"; return; } int max = INT_MIN, second_max = INT_MIN; for (int i = 0; i < n ; i ++) { if (arr[i] > max) { second_max = max; max = arr[i]; }else if (arr[i] > second_max) second_max = arr[i]; } cout << second_max << ", "<< max; } int main() { int arr[] = {1, 5, 7, 2, 0}; int n = sizeof(arr)/sizeof(arr[0]); largestGeoMeanSubset(arr, n); }
आउटपुट
5, 7