动态规划算法-斐波那契数列模型:1.第N个泰波那契数

题目链接:1137. 第 N 个泰波那契数(简单)

算法原理:

解法:动态规划

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-11
 * Time: 21:47
 */
class Solution {
    //1137.第n个泰波那契数
    //自己写的,一遍过
    public int tribonacci(int n) {
        //1.创建dp表
        //2.初始化
        //3.填表
        //4.返回结果

        //处理边界情况
        if(n==0) return 0;
        if(n==1||n==2) return 1;
        int[] dp=new int[n+1];
        dp[0]=0;dp[1]=dp[2]=1;
        for(int i=3;i<=n;i++) dp[i]=dp[i-1]+dp[i-2]+dp[i-3];
        return dp[n];
    }

    //空间优化版本(滚动数组)
    public int tribonacci(int n) {
        //处理边界情况
        if(n==0) return 0;
        if(n==1||n==2) return 1;
        // int[] dp=new int[n+1];
        // dp[0]=0;dp[1]=dp[2]=1;
        int a=0,b=1,c=1,d=0;
        for(int i=3;i<=n;i++){
            d=a+b+c;
            a=b;b=c;c=d;
        }
        return d;
    }
}
相关推荐
怕浪猫5 小时前
RAG 面试 6 连问,从原理到优化全部覆盖
python·算法·面试
无线通信科研笔记5 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
2601_962885726 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
mmmmath_36 小时前
二叉树の递归遍历
算法
爱吃奥利奥_wen7 小时前
面向对象三板斧:封装、继承、多态,到底在“装“什么、“承“什么、“变“什么?
开发语言·经验分享·c#
All for pursuit.7 小时前
【位运算-1】338.比特位计数
数据结构·c++·算法·leetcode
我可能是个假开发7 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
小师兄吃牛肉7 小时前
C语言中的nullptr有必要吗
c语言·c++·算法
WL学习笔记8 小时前
日期类(C++)
开发语言·c++·日期类实现
谢亮_vipxieliang9 小时前
Go map与结构体的正确使用
开发语言·golang·哈希算法