只有学习,没有自己的思路解题哈哈哈
1,题目
假设你正在爬楼梯。需要 n
阶你才能到达楼顶。
每次你可以爬 1
或 2
个台阶。你有多少种不同的方法可以爬到楼顶呢?
2,代码
这种解法的本质是斐波那契数列
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
let p = 0, q = 0, r = 1;
// r代表到达当前阶梯的方法总数。
// q代表到达前一阶梯的方法总数。
// p代表到达前两阶梯的方法总数。
for(let i = 1;i<= n;i++){
p =q;
q = r;
r = p + q;
}
return r;
};