ধরুন আমাদের একটি পূর্ণসংখ্যা অ্যারে আছে; আমাদের তিনটি সংখ্যা খুঁজে বের করতে হবে যার গুণফল সর্বোচ্চ তারপর সর্বোচ্চ পণ্য ফেরত দিতে হবে।
সুতরাং, যদি ইনপুটটি [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