আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা n সংখ্যক অ্যারে থেকে মি সংখ্যক উপাদানের সমন্বয় তৈরি করে৷
যেমন −
এই তথ্য বিবেচনা করুন -
const arr = [ [0,1], [0,1,2,3], [0,1,2] ]
3টি সাব অ্যারে, তাদের মধ্যে বিভিন্ন সংখ্যক উপাদান রয়েছে।
আমরা যা করতে চাই তা হল প্রতিটি অ্যারে থেকে একটি আইটেম একত্রিত করে সমস্ত সমন্বয় পেতে৷
যেমন −
0,0,0 // item 0 from array 0, item 0 from array 1, item 0 from array 2 0,0,1 0,0,2 0,1,0 0,1,1 0,1,2 0,2,0 0,2,1 0,2,2
ইত্যাদি।
যদি অ্যারের সংখ্যা স্থির করা হয়, তাহলে একটি হার্ড-কোডেড বাস্তবায়ন করা সহজ হবে। কিন্তু অ্যারের সংখ্যা পরিবর্তিত হতে পারে −
const arr1 = [[0,1], [0,1]]; const arr2 = [[0,1,3,4], [0,1], [0], [0,1]];
উদাহরণ
এর জন্য কোড হবে −
const arr = [ [0,1], [0,1,2,3], [0,1,2] ] const combineAll = (array) => { const res = []; let max = array.length−1; const helper = (arr, i) => { for (let j=0, l=array[i].length; j<l; j++) { let copy = arr.slice(0); copy.push(array[i][j]); if (i==max) res.push(copy); else helper(copy, i+1); }; }; helper([], 0); return res; }; console.log(combineAll(arr));
এবং কনসোলে আউটপুট হবে −
[ [ 0, 0, 0 ], [ 0, 0, 1 ], [ 0, 0, 2 ], [ 0, 1, 0 ], [ 0, 1, 1 ], [ 0, 1, 2 ], [ 0, 2, 0 ], [ 0, 2, 1 ], [ 0, 2, 2 ], [ 0, 3, 0 ], [ 0, 3, 1 ], [ 0, 3, 2 ], [ 1, 0, 0 ], [ 1, 0, 1 ], [ 1, 0, 2 ], [ 1, 1, 0 ], [ 1, 1, 1 ], [ 1, 1, 2 ], [ 1, 2, 0 ], [ 1, 2, 1 ], [ 1, 2, 2 ], [ 1, 3, 0 ], [ 1, 3, 1 ], [ 1, 3, 2 ] ]