/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
// 到达第n步的无重复的方法数f(n) = f(n-1) + f(n-2)
if(n===0||n==1||n==2){
return n;
}
step1 = 1;
step2 = 2;
var i = 3;
while(i<=n){
stepn = step1 + step2;
step1 = step2;
step2 = stepn;
i++;
}
return stepn;
};
这道题的核心是动态规划,动态规划的核心是找到递归方程。通过当前的状态,递归的得出后面的状态如何。