আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র আর্গুমেন্ট হিসেবে ইন্টিজারগুলোর (পজিটিভ এবং নেগেটিভ) একটি অ্যারে নেবে। ফাংশনটি সাবঅ্যারেতে গুণফল সর্বোচ্চ যেটা সেটি বের করে তার গুণফল রিটার্ন করবে।
উদাহরণস্বরূপ:
যদি ইনপুট অ্যারে হয়:
const arr = [4, -5, 2, -3, 1, -4, 0, -3];
তাহলে আউটপুট হবে:
const output = 120
কারণ সর্বোচ্চ গুণফল বিশিষ্ট সাবঅ্যারে হলো [4, -5, 2, -3]
উদাহরণ
নিচে কোডটি দেওয়া হলো:
const arr = [4, -5, 2, -3, 1, -4, 0, -3]; const maxProduct = (arr = []) => { if (arr.length === 0){ return 0; }; let max = arr[0], min = arr[0], greatest = arr[0]; for (let i = 1; i <= arr.length - 1; i++) { let tempMax = max * arr[i]; max = Math.max( arr[i], Math.max(min * arr[i], max * arr[i]) ); min = Math.min(arr[i], Math.min(min * arr[i], tempMax)); greatest = Math.max(greatest, max); } return greatest; }; console.log(maxProduct(arr));আউটপুট
কনসোল আউটপুট:
120