动态规划算法基础篇。
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];
}
}