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])
代码:
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]; }