动态规划入门题目->使用最小费用爬楼梯

2024-10-09 15:57:45 浏览数 (3)

1.题目:

2.解析:

做题模式:

步骤一:找状态转移方程

步骤二:初始化

步三:填表

步骤四:返回-> dp[n]

dp[i]表示到达 i 位置最小花费

逻辑:要爬到楼顶先找到 i 位置 ,

要找到 i 位置先找到 i-1,和 i-2位置

总结:状态转移方程dp[i] = Math.min (dp[i-1] cos[i-1], dp[i-2] cost[i-2]) 

代码:

代码语言:javascript复制
public int minCostClimbingStairs(int[] cost) {
        int n = cost.length;
        int[] dp = new int[n 1];
        for(int i = 2; i <= n; i  ){
            dp[i] = Math.min(dp[i-1]   cost[i-1],dp[i-2]   cost[i-2]); 
        }

        return dp[n];
    }

0 人点赞