动态规划解题步骤:
1.确定状态表示:dp[i]是什么
2.确定状态转移方程:dp[i]等于什么
3.初始化:确保状态转移方程不越界
4.确定填表顺序:根据状态转移方程即可确定填表顺序
5.确定返回值
题目链接:1137. 第 N 个泰波那契数 - 力扣(LeetCode)
题解:
1.状态表示:dp[i]表示第i个泰波那契数的值
2.状态转移方程:dp[i]=dp[i-1]+dp[i-2]+dp[i-3]
3.初始化:初始化dp表中的dp[0]、dp[1]、dp[2]
4.填表顺序:从左向右
5.返回值:dp[n]
class Solution {
public:int tribonacci(int n) {//处理边界条件if(n==0||n==1) return n;else if(n==2) return 1;//创建dp表vector<int> dp(n+1);//初始化dp[0]=0;dp[1]=1;dp[2]=1;//填表for(int i=3;i<=n;++i)dp[i]=dp[i-1]+dp[i-2]+dp[i-3];//返回值return dp[n];}
};