কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে n সংখ্যক অ্যারে থেকে m উপাদান দিয়ে কম্বিনেশন তৈরি

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা n সংখ্যক অ্যারে থেকে m সংখ্যক উপাদান নিয়ে কম্বিনেশন জেনারেট করবে।

উদাহরণস্বরূপ - নিচের ডেটা বিবেচনা করুন -

const arr = [ 
  [0,1], 
  [0,1,2,3], 
  [0,1,2] 
]

৩টি সাব-অ্যারে, প্রতিটিতে ভিন্ন সংখ্যক উপাদান।

আমরা চাই প্রতিটি অ্যারে থেকে একটি আইটেম নিয়ে সব কম্বিনেশন পাওয়া।

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
// এবং així সারিবদ্ধে

যদি অ্যারের সংখ্যা ফিক্সড হতো, হার্ড-কোডেড ইমপ্লিমেন্টেশন সহজ হতো। কিন্তু অ্যারের সংখ্যা পরিবর্তনশীল -

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] 
]
  1. জাভাস্ক্রিপ্টে কিউ (Queue) থেকে ডিকিউ (Dequeue) অপারেশন

  2. জাভাস্ক্রিপ্টে PriorityQueue-এ Dequeue (Remove) অপারেশন

  3. জাভাস্ক্রিপ্টে বাঞ্ছিত কম্বিনেশন জেনারেট করা

  4. জাভাস্ক্রিপ্টে দুটি অ্যারে থেকে সবচেয়ে ছোট সমষ্টি वाले জোড়া খুঁজে বের করা