【LeetCode75】第五十九题 第N个泰波那契数

目录

题目:

示例:

分析:

代码:


题目:

【LeetCode75】第五十九题 第N个泰波那契数_第1张图片

示例:

【LeetCode75】第五十九题 第N个泰波那契数_第2张图片

分析:

题目顾名思义,让我们求出第N个泰波那契数,也就是除了开头三个数之外,第四个数开始就是等于前三个数之和。

不要和斐波那契数弄混了。

【LeetCode75】第五十九题 第N个泰波那契数_第3张图片

 【LeetCode75】第五十九题 第N个泰波那契数_第4张图片

 斐波那契是前两个数的和,泰波那契是前三个数的和。

也就是说当前数,我们可以通过之前的数来推断出,也就是可以使用动态规划。

并且递推公式人家题目都给了,就是前三个数的和,而且最开始的三个数也给了。我们就直接初始化dp数组的前三个数,然后开始用递推公式递推出第K个泰波那契数即可。

代码:

class Solution {
public:
    int tribonacci(int n) {
        vector dp(3,1);
        dp[0]=0;
        while(dp.size()<=n){
            dp.push_back(*(dp.end()-1)+*(dp.end()-2)+*(dp.end()-3)) ;
        }
        return dp[n];
    }
};

你可能感兴趣的:(LeetCode75题解,算法,动态规划,leetcode,c++,数据结构)