动态规划算法-斐波那契数列模型: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;
    }
}
相关推荐
阿蒙Amon几秒前
C#每日面试题-重写和重载的区别
开发语言·c#
是一个Bug4 分钟前
Java基础20道经典面试题(二)
java·开发语言
yugi9878384 分钟前
基于MATLAB实现协同过滤电影推荐系统
算法·matlab
TimberWill4 分钟前
哈希-02-最长连续序列
算法·leetcode·排序算法
Z_Easen7 分钟前
Spring 之元编程
java·开发语言
liliangcsdn13 分钟前
python下载并转存http文件链接的示例
开发语言·python
Morwit22 分钟前
【力扣hot100】64. 最小路径和
c++·算法·leetcode
我命由我1234522 分钟前
SVG - SVG 引入(SVG 概述、SVG 基本使用、SVG 使用 CSS、SVG 使用 JavaScript、SVG 实例实操)
开发语言·前端·javascript·css·学习·ecmascript·学习方法
leoufung22 分钟前
LeetCode 373. Find K Pairs with Smallest Sums:从暴力到堆优化的完整思路与踩坑
java·算法·leetcode
阿蒙Amon23 分钟前
C#每日面试题-委托和事件的区别
java·开发语言·c#