动态规划算法基础篇。
![](https://i-blog.csdnimg.cn/direct/450da5cdbd8f4fbf860788f7a9ac59f5.jpeg)
java
class Solution {
public int climbStairs(int n) {
int[] f = new int[n + 1];
f[0] = 1;
f[1] = 1;
//当爬到n阶楼梯时,可知是由n-1阶或n-2阶楼梯而来
for(int i = 2; i <= n; i++) {
f[i] = f[i - 1] + f[i - 2];//后面的每一阶种数由前两个状态得到
}
return f[n];
}
}