【手把手带你刷好题】—— 60.第N个泰波那契数(记忆化搜索、简单DP)

简介: 第N个泰波那契数(记忆化搜索、简单DP)

【前言】

今天是刷题打卡第60天!

一起加油啦兄弟们。


原题:第N个泰波那契数(记忆化搜索、简单DP)

原题链接:力扣

题目描述:

示例1:

输入:n = 4
输出:4
解释:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4

示例2:

输入:n = 25
输出:1389537

代码执行:

class Solution {
public:
    int tribonacci(int n) {
        //找边界
        if(n == 0)
            return 0;
        if(n == 1 || n == 2)
            return 1;
        //定义一个大小为n+1的整形数组,并将其初始为0
        vector<int> dp(n+1, 0);
        dp[0] = 0;
        dp[1] = 1;
        dp[2] = 1;
        for(int i = 3; i < n+1;i++)
        {
            dp[i] = dp[i - 3] + dp[i - 2] + dp[i - 1];//递推公式
        }
        return dp[n];
    }
};


结语

今天是刷题打卡第60天!

加油吧少年。


相关文章
|
算法 搜索推荐
蓝桥杯丨简单排序
蓝桥杯丨简单排序
90 0
【动态规划刷题 1 】 第N个泰波那契数&& 三步问题
【动态规划刷题 1 】 第N个泰波那契数&& 三步问题
|
7月前
蓝桥杯动态规划-第五弹 最大子数组和 买卖股票最佳时机IV 第N个泰波那契数 环形数组
蓝桥杯动态规划-第五弹 最大子数组和 买卖股票最佳时机IV 第N个泰波那契数 环形数组
|
8月前
|
存储
每日一题啦(● ̄(エ) ̄●)(尼克切斯定理,等差数列)
每日一题啦(● ̄(エ) ̄●)(尼克切斯定理,等差数列)
37 0
|
C++
【寒假每日一题】AcWing 4728. 乘方
目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
154 0
AcWing 821. 跳台阶
AcWing 821. 跳台阶
74 0
AcWing 821. 跳台阶
每日一题之20201103(941. 有效的山脉数组)
首先要弄清楚题目的意图,曾经在字节面试遇到过类似的题目,但那题是需要找出这个峰值。 所以解法也肯定不一样。 官方给的题解是直接遍历,我们这里采用双指针分别从头和尾往中间遍历,如果山脉符合要求,那么2个指针会停在同一个山脉。
每日一题之20201103(941. 有效的山脉数组)
|
机器学习/深度学习 算法
【刷穿 LeetCode】第 N 个泰波那契数 :「迭代」&「递归」&「矩阵快速幂」&「打表」
【刷穿 LeetCode】第 N 个泰波那契数 :「迭代」&「递归」&「矩阵快速幂」&「打表」