使用最小花费爬楼梯 (Min Cost Climbing Stairs)

 

思路:

// @Title: 使用最小花费爬楼梯 (Min Cost Climbing Stairs)
// @Author: qisiii
// @Date: 2024-09-22 23:09:10
// @Runtime: 0 ms
// @Memory: 42.2 MB
// @comment: 
// @flag: 
class Solution {
    public int minCostClimbingStairs(int[] cost) {
        int n=cost.length;
        //dp代表爬到i所需要花费的最少的钱,是不需要支付i位置所在的钱的,因为那是爬往i+1所需要花费的
        int[] dp=new int[n+1];
        dp[0]=0;
        dp[1]=0;
        for(int i=2;i<=n;i++){
            //比如爬到2,可以爬到1,花费1-2的钱,或者爬到0,花费0-2的钱
            dp[i]=Math.min(dp[i-2]+cost[i-2],dp[i-1]+cost[i-1]);
        }
        return dp[n];
    }
}
Licensed under CC BY-NC-SA 4.0
最后更新于 2024-10-18