class Solution {
public int minCostClimbingStairs(int[] cost) {
if(cost.length < 3) return Math.min(cost[1],cost[0]);
for(int i = 2;i < cost.length;i++){
cost[i] = cost[i] + Math.min(cost[i - 1],cost[i - 2]);
}
return Math.min(cost[cost.length - 1], cost[cost.length - 2]);
}
}
递推式:到达这一级阶梯的cost = 前两级阶梯的最小值+当前cost。
这篇博客介绍了一个使用动态规划算法解决的问题——如何以最小成本爬楼梯。通过迭代更新每一级台阶的成本,将前两级台阶的最小成本与当前台阶成本相结合,最终返回到达顶部的最小花费。这种方法有效地减少了计算复杂性,提高了效率。
443

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



