কম্পিউটার

জাভাস্ক্রিপ্টে সিঁড়ি ওঠার অনুশীলনের জন্য ব্যাকট্র্যাকিং কীভাবে প্রয়োগ করবেন?


ধরুন আমাদের একটি সিঁড়ি বেয়ে উঠতে হবে যেখানে n ধাপ আছে, এবং আমরা সিঁড়ি লাফিয়ে কিছু অতিরিক্ত ব্যায়াম করার সিদ্ধান্ত নিই৷

আমরা এক লাফে সর্বাধিক k ধাপ কভার করতে পারি। সিঁড়ির ধাপের সংখ্যা নির্বিশেষে k হবে 1 বা 2।

সিঁড়ি বেয়ে ওঠার জন্য আপনি যে সমস্ত সম্ভাব্য ক্রমানুসারে লাফ দিতে পারেন সেগুলি আমাদের ফেরত দিতে হবে, সাজানো।

যেমন −

for n = 4 and k = 2,

আউটপুট −

হওয়া উচিত
climbingStaircase(n, k) = [[1, 1, 1, 1], [1, 1, 2], [1, 2, 1], [2, 1, 1], [2, 2]];

উদাহরণ

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

const n = 4;
const climbStairs = (n) => {
   if (n == 0) return 0;
   let memory = new Map();
   let recur = (left) => {
      if (memory.has(left)) return memory.get(left);
      if (left <= 0) return 0;
      if (left == 1) return 1;
      if (left == 2) return 2;
      memory.set(left, recur(left − 2) + recur(left − 1));
      return memory.get(left);
   };
   return recur(n);
};
console.log(climbStairs(n));

আউটপুট

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

5

  1. জাভাস্ক্রিপ্টে একটি স্ট্রিং কীভাবে অনুসন্ধান করবেন?

  2. কীভাবে জাভাস্ক্রিপ্ট অ্যারেতে একটি উপাদান অনুসন্ধান করবেন?

  3. জাভাস্ক্রিপ্টে অ্যাসিঙ্ক্রোনাস লুপ কীভাবে প্রয়োগ করবেন?

  4. জাভাস্ক্রিপ্টে প্রতিটি বস্তুর জন্য একটি অনন্য আইডি কীভাবে তৈরি করবেন?