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

রিকার্সন ব্যবহার করে অ্যারেতে সব পজিশনে উপাদান ইনসার্ট করা - জাভাস্ক্রিপ্ট

আমাদের একটি ফাংশন ডিক্লেয়ার করতে হবে, ধরুন insertAllPositions, যেটি দুটি আর্গুমেন্ট নেবে:

একটি উপাদান, x, এবং একটি অ্যারে, arr। ফাংশনটি অবশ্যই অ্যারে-এর-অ্যারে রিটার্ন করবে, যেখানে প্রতিটি অ্যারে arr-র সাথে x কে একটি সম্ভাব্য পজিশনে ইনসার্ট করে বने থাকবে।

অর্থাৎ, যদি arr-এর দৈর্ঘ্য N হয়, তবে ফলাফল হবে N + 1 টি অ্যারের একটি অ্যারে।

উদাহরণস্বরূপ, insertAllPositions(10, [1,2,3]) এর ফলাফল হবে:

const output = [
  [10,1,2,3],
  [1,10,2,3],
  [1,2,10,3],
  [1,2,3,10]
];

আমাদের এই ফাংশনটি শুধুমাত্র রিকার্সন ব্যবহার করে লিখতে হবে।

উদাহরণ

নিচের কোডটি দেখুন:

const arr = [1, 2, 3];
const num = 10;

const insertAllPositions = (num, arr) => {
  return arr.length ?
  [[num, ...arr]]
  .concat(insertAllPositions(num, arr.slice(1))
  .map(el => {
    return [arr[0]].concat(el);
  })) :
  [[num]]
};

console.log(insertAllPositions(num, arr));

আউটপুট

এটি কনসোলে নিচের আউটপুট তৈরি করবে:

[ [ 10, 1, 2, 3 ], [ 1, 10, 2, 3 ], [ 1, 2, 10, 3 ], [ 1, 2, 3, 10 ] ]
  1. জাভাস্ক্রিপ্ট অ্যারেতে সব ইউনিক ভ্যালু বের করা

  2. জাভাস্ক্রিপ্টে অ্যারেতে একাধিকবার যেটি আসেছে সেগুলো সব রিমুভ করা

  3. জাভাস্ক্রিপ্টে অ্যারেতে undefined এলিমেন্ট গণনা করা

  4. জাভাস্ক্রিপ্টে সর্টেড অ্যারেতে নম্বর ইনসার্ট করা (বাইনারি সার্চ দিয়ে)