假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?
Example 1:
Input: n = 3
Output: 3
Explanation:
1) 1, 1, 1
2) 1, 2
3) 2, 1
total 3.
Example 2:
Input: n = 1
Output: 1
Explanation: only 1 way.
解答:
/**
* @param n: 楼梯的阶数
* @return: result 爬楼梯的方法数
*/
const climbStairs = function (n) {
if(n <= 3){
//前三阶直接返回结果
return n;
}else{
let result = 0;
// 二阶的方法数
let num1 = 2;
// 三阶的方法数
let num2 = 3
// 从第四阶开始循环叠加
for(let i=3;i<n;i++){
res = num1+num2;
num1 = num2;
num2 = res;
}
return result;
}
}
网友评论