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

জাভাস্ক্রিপ্টে অ্যারে থেকে সব সম্ভাব্য কম্বিনেশন বের করা যেন যোগফল টার্গেটের সমান হয়


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে একটি সংখ্যার অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসেবে একটি টার্গেট সম নেয়। ফাংশনটি অ্যারে-র উপাদানগুলো (রিপিটিং বা নন-রিপিটিং) দিয়ে এমন সব কম্বিনেশন বের করবে যাদের যোগফল টার্গেট সমানের সমান হয়।

উদাহরণস্বরূপ − ইনপুট অ্যারে যদি হয় −

const arr = [2, 3, 6, 7], sum = 7;

তবে উপরের ইনপুট-র জন্য আউটপুট হবে নিচের মতো −

const output = [
  [2, 2, 3],
  [7]
];

উদাহরণ

এটির কোড হবে −

const arr = [2, 3, 6, 7], sum = 7;
const combineElements = (arr, sum) => {
  const output = [];
  const findCombination = (remain, path, start) => {
    if (remain < 0) {
      return;
    }
    if (remain === 0) {
      output.push([...path]);
      return;
    }
    for (let i = start; i < arr.length; i++) {
      findCombination(remain - arr[i], [...path, arr[i]], i);
    }
  }
  findCombination(sum, [], 0);
  return output;
};
console.log(combineElements(arr, sum));

আউটপুট

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

[ [ 2, 2, 3 ], [ 7 ] ]

  1. জাভাস্ক্রিপ্ট Array.from() মেথড

  2. জাভাস্ক্রিপ্ট Array.from() মেথড

  3. জাভাস্ক্রিপ্টে রেঞ্জের মধ্যে সব প্রাকৃতিক সংখ্যার সমষ্টি বের করা

  4. জাভাস্ক্রিপ্টে অ্যারেতে থাকা সব ধনাত্মক সংখ্যার যোগফল বের করা