动态规划算法-斐波那契数列模型: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];
    }
}
相关推荐
551只玄猫1 小时前
【数学建模 matlab 实验报告12】聚类分析和判别分析
开发语言·数学建模·matlab·课程设计·聚类·实验报告
小陈工3 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
海清河晏1113 小时前
数据结构 | 单循环链表
数据结构·算法·链表
H Journey3 小时前
C++之 CMake、CMakeLists.txt、Makefile
开发语言·c++·makefile·cmake
wuweijianlove7 小时前
算法性能的渐近与非渐近行为对比的技术4
算法
_dindong7 小时前
cf1091div2 C.Grid Covering(数论)
c++·算法
AI成长日志7 小时前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
lly2024067 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨7 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9997 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel