题目链接
注意最后要取到cost.length而不是cost.length-1
class Solution {
public int minCostClimbingStairs(int[] cost) {
int[] dp = new int[cost.length+1];
dp[0]=0;
dp[1]=0;
for(int i=2;i<=cost.length;i++){
dp[i]=Math.min(dp[i-2]+cost[i-2],dp[i-1]+cost[i-1]);
}
return dp[cost.length];
}
}
该博客介绍了一个使用动态规划解决爬楼梯问题的Java实现。代码通过创建一个dp数组,计算到达每个台阶的最小成本,最终返回爬到顶部的最小成本。核心在于状态转移方程:dp[i] = min(dp[i-1] + cost[i-1], dp[i-2] + cost[i-2])。
352

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



