第N个泰波那契数列 --- 动态规划
目录
一:题目
二:算法原理
三:代码实现
一:题目
题目链接:1137. 第 N 个泰波那契数 - 力扣(LeetCode)
二:算法原理
三:代码实现
class Solution {
public:int tribonacci(int n) {if(n == 0) return 0;if(n == 1||n==2) return 1;//1.创建dp表vector<int> dp(n+1);//2.初始化dp[1] = dp[2] = 1;//3.填表for(int i = 3; i <= n; i++){dp[i] = dp[i-1]+dp[i-2]+dp[i-3];}//4.返回值return dp[n];}
};
空间优化版本:
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,ret = 0;for(int i = 3 ; i <= n ; i++){ret = a +b +c;//滚动操作a = b,b = c,c = ret;}return ret;}
};