Loading...

记忆化+递归-最小花费爬楼梯

阅读 ...

在这里插入图片描述

求解代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
public int minCostClimbingStairs(int[] cost) {
        
        int n = cost.length;
        int[] memo = new int[n+1];
        Arrays.fill(memo, -1);
        return dp(cost,n, memo);

    }

    private int dp(int[] cost,int n,int[] memo){
        if(n==0||n==1){
            return 0;
        }

        if(memo[n]!=-1){
            return memo[n];
        }

        memo[n]=Math.min(dp(cost, n-1, memo)+cost[n-1],dp(cost, n-2, memo)+cost[n-2]);
        return memo[n];
    }

小贴士

所有的钱,都花在落脚的那一刻;跳的过程,一分钱不花。

本文由 iamxurulin 原创发布,转载请保留原文链接。
最后更新于 2026-08-23 17:21:42
关于作者与文章

本文为 iamxurulin 原创技术文章。如对内容有疑问或建议,欢迎在评论区交流讨论。

Coder_Studio - 记录后端开发、算法与 AI 的成长之路