动态规划算法-斐波那契数列模型: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;
    }
}
相关推荐
灰子学技术12 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
那个村的李富贵12 小时前
CANN加速下的AIGC“即时翻译”:AI语音克隆与实时变声实战
人工智能·算法·aigc·cann
二十雨辰12 小时前
[python]-AI大模型
开发语言·人工智能·python
power 雀儿12 小时前
Scaled Dot-Product Attention 分数计算 C++
算法
Yvonne爱编码12 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚12 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂12 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
pas13612 小时前
41-parse的实现原理&有限状态机
开发语言·前端·javascript
琹箐13 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
renhongxia113 小时前
如何基于知识图谱进行故障原因、事故原因推理,需要用到哪些算法
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·知识图谱