动态规划算法-斐波那契数列模型:2.三步问题

题目链接:面试题 08.01. 三步问题(简单)

算法原理:

解法:动态规划

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-12
 * Time: 22:56
 */
class Solution {
    //面试题08.01.三步问题
    public int waysToStep(int n){
        //1.创建dp表
        //2.初始化
        //3.填表
        //4.返回值
        int MOD=(int)1e9+7;//默认double型
        if(n==1||n==2) return n;
        if(n==3) return 4;
        int[] dp=new int[n+1];
        dp[1]=1;dp[2]=2;dp[3]=4;
        for(int i=4;i<=n;i++)
            //每次加法都要取模
            dp[i]=((dp[i-1]+dp[i-2])%MOD+dp[i-3])%MOD;
        return dp[n];
    }
}
相关推荐
喜欢喝果茶.16 小时前
QOverload<参数列表>::of(&函数名)信号槽
开发语言·qt
亓才孓16 小时前
[Class类的应用]反射的理解
开发语言·python
努力学编程呀(๑•ี_เ•ี๑)16 小时前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea
island131416 小时前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
坚持就完事了17 小时前
Java中的集合
java·开发语言
魔芋红茶17 小时前
Python 项目版本控制
开发语言·python
云小逸17 小时前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap
冰暮流星17 小时前
javascript之二重循环练习
开发语言·javascript·数据库
风指引着方向17 小时前
自定义算子开发入门:基于 CANN op-plugin 的扩展实践
开发语言
dazzle17 小时前
机器学习算法原理与实践-入门(三):使用数学方法实现KNN
人工智能·算法·机器学习