मान लीजिए कि हमारे पास एक पूर्णांक सरणी है; हमें तीन नंबर खोजने होंगे जिनका उत्पाद अधिकतम है और फिर अधिकतम उत्पाद लौटाएं।
इसलिए, अगर इनपुट [1,1,2,3,3] जैसा है, तो आउटपुट 18 होगा, क्योंकि तीन तत्व [2,3,3] हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
सरणी संख्याओं को क्रमबद्ध करें
-
l :=अंकों का आकार
-
ए:=अंक [एल -1], बी:=अंक [एल - 2], सी:=अंक [एल - 3], डी:=अंक [0], ई:=अंक [1] पी>
-
अधिकतम a * b * c और d * e * a
. लौटाएं
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
int maximumProduct(vector<int>& nums) {
sort(nums.begin(), nums.end());
int l = nums.size();
int a = nums[l - 1], b = nums[l - 2], c = nums[l - 3], d = nums[0], e = nums[1];
return max(a * b * c, d * e * a);
}
};
main(){
Solution ob;
vector<int> v = {1,1,2,3,3};
cout << (ob.maximumProduct(v));
} इनपुट
{1,1,2,3,3} आउटपुट
18