LeetCode1137. 第 N 个泰波那契数

题干

泰波那契序列 Tn 定义如下:

T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2

给你整数 n,请返回第 n 个泰波那契数 Tn 的值。

示例1:

复制代码
输入:n = 4
输出:4
解释:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4

示例2:

复制代码
输入:n = 25
输出:1389537

提示:

  • 0 <= n <= 37
  • 答案保证是一个 32 位整数,即 answer <= 2^31 - 1

解题思路

泰波纳契数列其实也就是斐波那契数列的变形。斐波那契数列是前两个数的和作为第三个数,而泰波纳契数列则是前三个数的和作为第四个数。只需要将n=0,1,2时初始化即可。

AC代码

java 复制代码
class Solution {
    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] = 1;
        dp[2] = 1;
        for(int i=3;i<=n;i++){
            dp[i] = dp[i-3] + dp[i-2] + dp[i-1];
        }
        return dp[n];
    }
}
相关推荐
君义_noip21 小时前
信息学奥赛一本通 1661:有趣的数列 | 洛谷 P3200 [HNOI2009] 有趣的数列
c++·算法·组合数学·信息学奥赛·csp-s
程序员:钧念21 小时前
深度学习与强化学习的区别
人工智能·python·深度学习·算法·transformer·rag
英英_1 天前
MATLAB数值计算基础教程
数据结构·算法·matlab
一起养小猫1 天前
LeetCode100天Day14-轮转数组与买卖股票最佳时机
算法·leetcode·职场和发展
hele_two1 天前
快速幂算法
c++·python·算法
l1t1 天前
利用DeepSeek将python DLX求解数独程序格式化并改成3.x版本
开发语言·python·算法·数独
jllllyuz1 天前
基于子集模拟的系统与静态可靠性分析及Matlab优化算法实现
算法·matlab·概率论
程序员-King.1 天前
day143—递归—对称二叉树(LeetCode-101)
数据结构·算法·leetcode·二叉树·递归
BlockChain8881 天前
字符串最后一个单词的长度
算法·go
爱吃泡芙的小白白1 天前
深入解析:2024年AI大模型核心算法与应用全景
人工智能·算法·大模型算法