class Solution {
public int climbStairs(int n) {
int[] dp = new int[n+1];
dp[0] = 1;
dp[1] = 1;
for(int i = 2; i<=n; i++){
dp[i] = dp[i-1] + dp[i-2];
}
return dp[n];
}
}
归纳:
动态规划,n=0和n=1为特殊情况
本文通过动态规划的方法解决了一个经典的爬楼梯问题。当层数为0或1时作为特殊情况处理,使用一个数组来存储到达每一层的方法数量,最终返回到达顶层的方法总数。
694

被折叠的 条评论
为什么被折叠?



