题解
递推
上第i阶楼梯有两种方法,第一种是第i-2 阶 + 2阶 ,另一种是第i-1阶 + 1阶
其中 只上1阶的方法有一种,上两阶的方法有两中。
注意循环不满足的边界条件以及初始化条件,因为有可能数组不满足这个条件
代码
class Solution {
public:
int climbStairs(int n) {
vector<int>f(n);
f[0] = 1;
// cout<<f[0]<<f[1]<<'\n';
if(n == 1){
return n;
}
f[1] = 2;
for(int i = 2; i < n; i++){
f[i] = f[i-1] + f[i - 2];
}
return f[n - 1];
}
};