JavaScript中的递归楼梯问题

假设我们有以下问题-

有n个楼梯,一个站在底部的人想到达顶部。该人一次可以爬1或2个楼梯。我们需要计算人数最多的方法。

我们需要编写一个JavaScript函数,该函数的数字n表示阶梯数。该函数应该计算并返回爬楼梯的方式数量。

示例

以下是代码-

const recursiveStaircase = (num = 10) => {
   if (num <= 0) {
      return 0;
   }
   const steps = [1, 2];
   if (num <= 2) {
      return steps[num - 1];
   }
   for (let currentStep = 3; currentStep <= num; currentStep += 1) {
      [steps[0], steps[1]] = [steps[1], steps[0] + steps[1]];
   }
   return steps[1];
};
console.log(recursiveStaircase());
console.log(recursiveStaircase(4));
console.log(recursiveStaircase(13));

输出结果

以下是控制台上的输出-

89
5
377