1137. 第 N 个泰波那契数
解题思路
- DP基础题目
- 重在找出状态转移方程,然后编写代码即可
- F(0) = 0,F(1) = 1,F(2) = 1
- F(n) = F(n - 1) + F(n - 2) + F(n - 3)
3.根据动态转移方程,编写代码
4.DP要注意,边界的处理
解题遇到的问题
1.无
后续需要总结学习的知识点
1.DP深入学习,理解透彻,学会从题目中梳理出动态转移方程
##解法1
class Solution {
/**
* DP基础
* 重在找出状态转移方程,然后编写代码即可
* F(0) = 0,F(1) = 1,F(2) = 1
* F(n) = F(n - 1) + F(n - 2) + F(n - 3)
*/
public static int tribonacci(int n) {
if (n == 0) {
return 0;
}
if (n == 1 || n == 2) {
return 1;
}
int fnd1 = 1;
int fnd2 = 1;
int fnd3 = 0;
for (int i = 3; i < n; i++) {
int temp = fnd1;
int temp2 = fnd2;
fnd1 = fnd1 + fnd2 + fnd3;
fnd2 = temp;
fnd3 = temp2;
}
return fnd1 + fnd2 + fnd3;
}
}
网友评论