ধরুন আমাদের একটি পূর্ণসংখ্যা অ্যারে আছে; আমাদের তিনটি সংখ্যা খুঁজে বের করতে হবে যার গুণফল সর্বোচ্চ তারপর সর্বোচ্চ পণ্য ফেরত দিতে হবে।
সুতরাং, যদি ইনপুটটি [1,1,2,3,3] এর মত হয়, তাহলে আউটপুট হবে 18, যেমন তিনটি উপাদান [2,3,3]।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
অ্যারের সংখ্যাগুলি সাজান
-
l :=সংখ্যার আকার
-
a :=সংখ্যা[l - 1], b :=সংখ্যা[l - 2], c :=সংখ্যা[l - 3], d :=সংখ্যা[0], e :=সংখ্যা[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