爬楼梯
思路分析:
0 =0 0种方法
1 = 1 种方法
2 = 1+1 =2 2种方法
3=1+1+1=1+2=2+1 3种方法
4 = 1*4 = 1+2+1 = 1+1+2 = 2+1+1 = 2+2 5种方法
5 = 1*5 = 2+1+2 =2+2+1 = 1+2+2 =1+2+1+1 = 1+1+2+1 = 2+1+1+1 = 1+1+1+2 8种方法规律:
const climb = function(n) {
// 前两个值的返回结果
if (n === 1) return 1;
if (n === 2) return 2;
let a = 1, // 1阶楼梯
b = 2, // 2阶楼梯
c;
for (let i = 3; i <= n; i++) {
c = a + b; // n的结果
// 为了后续推导,不断保存前两个值
a = b;
b = c;
}
return c;
};最后更新于