কম্পিউটার

জাভাস্ক্রিপ্টে টার্গেট যোগ করার জন্য যেকোনো সম্ভাব্য সমন্বয়


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা অনন্য পূর্ণসংখ্যার একটি অ্যারে নেয়, প্রথম আর্গুমেন্ট হিসাবে arr এবং দ্বিতীয় আর্গুমেন্ট হিসাবে লক্ষ্য যোগফল।

আমাদের ফাংশনের সমস্ত জোড়ার সংখ্যা গণনা করা উচিত (পুনরাবৃত্তি অনুমোদিত) যা লক্ষ্য যোগফল পর্যন্ত যোগ করতে পারে এবং সেই সংখ্যাটি ফেরত দিতে পারে।

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

const arr = [1, 2, 3];
const target = 4;

তারপর আউটপুট −

হওয়া উচিত
const output = 7;

আউটপুট ব্যাখ্যা:

কারণ, সম্ভাব্য সমন্বয়ের উপায় হল −

(1, 1, 1, 1)
(1, 1, 2)
(1, 2, 1)
(1, 3)
(2, 1, 1)
(2, 2)
(3, 1)

উদাহরণ

এর জন্য কোড হবে −

const arr = [1, 2, 3];
const target = 4;
const sumUpto = (nums = [], target = 1, map = {}) => {
   if (target === 0){
      return 1;
   };
   if (typeof map[target] != "undefined"){
      return map[target];
   };
   let res = 0;
   for (let i = 0; i<nums.length; i++) {
      if (target >= nums[i]){
         res += sumUpto(nums, target - nums[i], map);
      };
   };
   map[target] = res;
   return res;
};
console.log(sumUpto(arr, target));

আউটপুট

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

7

  1. জাভাস্ক্রিপ্ট ব্যবহার করে একটি সারিতে উপাদান যোগ করুন

  2. জাভাস্ক্রিপ্টে একটি লুপে বিলম্ব কিভাবে যোগ করবেন?

  3. জাভাস্ক্রিপ্টে new.target

  4. ইতিমধ্যে-ঘোষিত ভেরিয়েবলে কি ডি-স্ট্রাকচার করা সম্ভব? জাভাস্ক্রিপ্টে?