【动态规划=递归+记忆化存储】跳台阶

求解代码

java 复制代码
public int jumpFloor(int number) {
        int[] memo = new int[number + 1];

        return dp(number, memo);
    }

    private int dp(int number,int[] memo){
        if(number<=2){
            return number;
        }
        

        if(memo[number]!=0){
            return memo[number];
        }

        memo[number]=dp(number-1, memo)+dp(number-2, memo);

        return memo[number];
    }

小贴士

1.要跳到第 n 级,最后一步只有两种可能:从 n-1 级跳 1 级上来、从 n-2 级跳 2 级上来,总方法数就是两者之和

2.构建一个备忘录数组,用来缓存已经计算过的结果,数组下标对应台阶数 ,值对应该台阶的跳法数

由于数组的默认值为00就表示该台阶的跳法数还未计算;

如果值≠0,就表示已经计算过,直接取值即可。

相关推荐
zyeyeye20 小时前
C++入门:从HelloWorld到命名空间揭秘
c语言·开发语言·c++·算法
牧羊人.33320 小时前
动手学深度学习 04 | Dataset 和 DataLoader、数据增强
人工智能·pytorch·深度学习·算法
elseif12320 小时前
【双指针/二分】P1102 A-B 数对
c++·算法·二分·双指针
电梯界知识分子20 小时前
江西抚州临川九尊府五层别墅:受限楼梯间里,全黑铝合金观光井道配曳引龙门架的落地记录
大数据·前端·网络·算法·家用电梯
木井巳20 小时前
【记忆化搜索】斐波那契数
java·算法·leetcode·深度优先·剪枝·推荐算法
落魄大学生之流水线上谋生计20 小时前
JVM内存结构、垃圾回收算法与类加载机制详解
jvm·算法
. . . . .20 小时前
comfyUI原理
人工智能·算法·机器学习
淡海水20 小时前
10-05-高级-模式匹配-CSharp如何改变与数据结构的交互方式
数据结构·算法·c#·模式匹配
果壳science21 小时前
张祥前统一场论研讨会在香港理工大学举办
人工智能·算法
桐盛科技21 小时前
能碳数据清洗用MAD算法,窗口大小和阈值怎么调?
物联网·算法·边缘计算