আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার একটি অ্যারে একমাত্র আর্গুমেন্ট হিসেবে নেয়। ফাংশনটি অ্যারেতে থেকে তিনটি এমন উপাদান বাছাই করবে যাদের গুণফল অ্যারেতে যেকোনো তিনটি উপাদানের মধ্যে সবচেয়ে বড়। ফাংশনটি চূড়ান্তে সেই তিনটি উপাদানের গুণফল ফেরত দেবে।
উদাহরণস্বরূপ −
ইনপুট অ্যারে যদি হয় −
const arr = [-10, 7, 29, 30, 5, -10, -70];
তবে আউটপুট হওয়া উচিত −
const output = 21000
কারণ তিনটি সংখ্যা হল 30, -10, -70
আমরা দেখতে পাচ্ছি যে অ্যারেতে নেগেটিভ উপাদান থাকতে পারে। তাই এমন কেসে সর্বোচ্চ গুণফল এই দুটির মধ্যে বড়টি হবে −
min1 * min2 * max1 max1 * max2 * max3
সুতরাং, আমরা এটিকে এভাবে সমাধান করব
উদাহরণ
নিচে কোড দেওয়া হল −
const arr = [-10, 7, 29, 30, 5, -10, -70]; const threeProduct = (arr = []) => { const sorter = (a, b) => a -b; arr.sort(sorter); let pro1 = 1, pro2 = 1; let len = arr.length - 1; for (let i = len; i > len - 3; i--) { pro1 = pro1 * arr[i]; }; pro2 = arr[0] * arr[1] * arr[len]; return Math.max(pro1, pro2); } console.log(threeProduct(arr));আউটপুট
কনসোলে আউটপুট হবে −
21000