动态规划算法-斐波那契数列模型: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];
    }
}
相关推荐
夏幻灵1 分钟前
从0开始学JAVA-2 String和char的区别
java·开发语言
nju_spy1 分钟前
12月力扣每日一题(划分dp + 单调栈 + 堆 + 会议安排)
算法·leetcode·二分查找·动态规划·滑动窗口·单调栈·最大堆
huluang2 分钟前
高性能Word文档批注处理器的设计与实现
开发语言·c#·word
智算菩萨3 分钟前
【Python机器学习】支持向量机(SVM)完全指南:从理论到实践的深度探索
算法·机器学习·支持向量机
林恒smileZAZ4 分钟前
总结 Next.js 中的 Server Actions
开发语言·javascript·ecmascript
Han.miracle6 分钟前
SpringBoot前后端交互实战案例:加法计算器与用户登录
java·开发语言
中國龍在廣州6 分钟前
2025,具身智能正在惩罚“持有者”
人工智能·深度学习·算法·自然语言处理·chatgpt
前端小天才8 分钟前
element-ui图标偶现乱码问题的原因和修复方法
开发语言·ui·rust
Biehmltym9 分钟前
【AI】01开发环境:Conda_python包/环境管理,10分钟上手
开发语言·python·conda
爱学习的capoo10 分钟前
电气控制与PLC考点(自用)
算法