মান লজিয়ে, আমাদের n স্টেপের একটি সিঁড়ি চড়তে হবে, এবং আমরা এক্সট্রা এক্সারসাইজের জন্য স্টেপে লাফ দিয়ে চড়তে সিদ্ধান্ত নিই।
আমরা একবারে সর্বোচ্চ k স্টেপ লাফ দিতে পারি। k হবে ১ বা ২, সিঁড়ি-র স্টেপ সংখ্যা যenskapেক্ষ করুক।
আমাদের সিঁড়ি চড়ার জন্য লাফের সমস্ত সম্ভাব্য সিকোয়েন্স রিটার্ন করতে হবে, সর্টেডভাবে।
উদাহরণস্বরূপ −
n = 4 এবং 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