【动态规划】第N个泰波那契数

题目链接:https://leetcode.cn/problems/n-th-tribonacci-number/description/

cpp 复制代码
class Solution {
public:
    int tribonacci(int n) 
    {
        /*时空复杂度都是O(n)*/
        // 处理边界情况
        if (n == 0) return 0;
        if (n == 1 || n == 2) return 1;
        // 1.创建 dp 表
        vector<int> dp(n + 1);
        // 2.初始化
        dp[0] = 0, dp[1] = dp[2] = 1;
        // 3.填表
        for (int i = 3; i < n + 1; ++i)
            dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];
        // 4.返回值
        return dp[n];
    }
};
cpp 复制代码
class Solution {
public:
    int tribonacci(int n) {
        // 处理边界情况
        if (n == 0) return 0;
        if (n == 1 || n == 2) return 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 小时前
大模型入门-大模型分布式训练2
开发语言·分布式·python·算法·正则表达式·prompt
sali-tec5 小时前
C# 基于OpenCv的视觉工作流-章78-KRT测量
图像处理·人工智能·数码相机·opencv·算法·计算机视觉
菜菜的顾清寒5 小时前
力扣HOT100(32)二叉树的中序遍历
数据结构·算法·leetcode
x2c5 小时前
数据结构:线性表中链表的建立和基本操作(C)
算法
DolphinDB5 小时前
基于 DolphinDB 搭建微服务的 SpringBoot 项目
后端·算法
ComputerInBook6 小时前
C++ 23 相比 C++ 20 新增之特征
开发语言·算法·c++23
吴可可1236 小时前
样条曲线转多段线技巧
算法·c#
csdn_aspnet6 小时前
java 算法 LeetCode 编号 70 - 爬楼梯
java·开发语言·算法·leetcode
pengyi8710156 小时前
动态 IP 池调度算法核心原理:从随机分配到智能调度演进
网络·tcp/ip·算法