[算法]使用最小花费爬楼梯——LeetCode746

题目链接

入门级动态规划

一开始想用递归做的,没做出来 :bugaoxing:

 

思路

状态转移方程:dp[i] = min(dp[i-1] + dp[i-2]) + cost[i]

leetcode某个大佬的过程图,通俗易懂

代码

    public int minCostClimbingStairs(int[] cost) {
		int dp[] = new int[cost.length+1];
		int dpl = dp.length-1;
		dp[0] = cost[0];
		dp[1] = cost[1];
		for(int i=2;i

心得

  1. 注意理论上是从-1开始爬的
  2. 注意结束的时候其实是cost.length + 1,即是需要多走一步的,且最后一步成本为0,
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注