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

জাভাস্ক্রিপ্টে ইন্টিজারের অ্যারে থেকে সব সম্ভাব্য পারমুটেশন তৈরি করা

আমাদের একটি ফাংশন লিখতে হবে যা নিচের কাজগুলো করবে:

  • ইন্টিজারের একটি অ্যারে আর্গুমেন্ট হিসেবে নেবে (যেমন [1,2,3,4])

  • [1,2,3,4]-এর সব সম্ভাব্য পারমুটেশন ধারণকারী একটি অ্যারে তৈরি করবে, প্রতিটি পারমুটেশনের দৈর্ঘ্য ৪ হবে (অর্থাৎ আসল অ্যারের দৈর্ঘ্য)

উদাহরণ

কোডটি হবে:

const arr = [1, 2, 3, 4];
const permute = (arr = [], res = [], used = []) => {
  let i, ch;
  for (i = 0; i < arr.length; i++) {
    ch = arr.splice(i, 1)[0];
    used.push(ch);
    if (arr.length === 0) {
      res.push(used.slice());
    }
    permute(arr, res, used);
    arr.splice(i, 0, ch);
    used.pop();
  };
  return res;
};
console.log(permute(arr));

আউটপুট

কনসোলে আউটপুট হবে:

[
  [ 1, 2, 3, 4 ], [ 1, 2, 4, 3 ],
  [ 1, 3, 2, 4 ], [ 1, 3, 4, 2 ],
  [ 1, 4, 2, 3 ], [ 1, 4, 3, 2 ],
  [ 2, 1, 3, 4 ], [ 2, 1, 4, 3 ],
  [ 2, 3, 1, 4 ], [ 2, 3, 4, 1 ],
  [ 2, 4, 1, 3 ], [ 2, 4, 3, 1 ],
  [ 3, 1, 2, 4 ], [ 3, 1, 4, 2 ],
  [ 3, 2, 1, 4 ], [ 3, 2, 4, 1 ],
  [ 3, 4, 1, 2 ], [ 3, 4, 2, 1 ],
  [ 4, 1, 2, 3 ], [ 4, 1, 3, 2 ],
  [ 4, 2, 1, 3 ], [ 4, 2, 3, 1 ],
  [ 4, 3, 1, 2 ], [ 4, 3, 2, 1 ]
]
  1. জাভাস্ক্রিপ্টে অ্যারেতে সব সম্ভাব্য সাবসেট বের করা

  2. জাভাস্ক্রিপ্টে স্ট্রিং-এর সব সম্ভাব্য ইউনিক পারমুটেশন তৈরি করা

  3. জাভাস্ক্রিপ্টে অ্যারেতে থাকা সব শূন্যকে শেষে সরানো

  4. জাভাস্ক্রিপ্টে অ্যারেতে সব শীর্ষবিন্দু ও তাদের অবস্থান খুঁজে বের করা