目录
题目:
示例:
分析:
代码:
题目:
示例:
分析:
题目顾名思义,让我们求出第N个泰波那契数,也就是除了开头三个数之外,第四个数开始就是等于前三个数之和。
不要和斐波那契数弄混了。
斐波那契是前两个数的和,泰波那契是前三个数的和。
也就是说当前数,我们可以通过之前的数来推断出,也就是可以使用动态规划。
并且递推公式人家题目都给了,就是前三个数的和,而且最开始的三个数也给了。我们就直接初始化dp数组的前三个数,然后开始用递推公式递推出第K个泰波那契数即可。
代码:
class Solution {
public:int tribonacci(int n) {vector<int> 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];}
};