আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা সংখ্যার একটি অ্যারে নেয়। ফাংশনটি মূল অ্যারেটি ভিত্তি করে একটি নতুন অ্যারে তৈরি করবে। নতুন অ্যারেতে প্রতিটি সংশ্লিষ্ট উপাদান মূল অ্যারেতে সব উপাদানের গুণফল হবে সেই উপাদান সহ।
উদাহরণস্বরূপ −
ইনপুট অ্যারে যদি হয় −
const arr = [1, 2, 3, 4, 5];
তবে আউটপুট অ্যারেটি হওয়া উচিত −
const output = [120, 60, 40, 30, 24];
আমাদের এটি লিনিয়ার টাইম এবং কনস্ট্যান্ট স্পেসে অর্জন করতে হবে (নতুন অ্যারে তৈরি করার স্পেস বাদ দিয়ে)।
উদাহরণ
নিচে কোড দেওয়া হল −
const arr = [1, 2, 3, 4, 5]; const exclusiveProduct = (arr = []) => { // O(n) time complexity const product = arr.reduce((acc, val) => acc * val); const res = []; // O(n) time complexity for(let i = 0; i < arr.length; i++){ const el = arr[i]; res[i] = product / el; }; return res; }; console.log(exclusiveProduct(arr));আউটপুট
কনসোলে আউটপুট হবে −
[120, 60, 40, 30, 24]