1.题目
泰波那契序列 Tn 定义如下:
T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2
给你整数 n,请返回第 n 个泰波那契数 Tn 的值。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/n-th-tribonacci-number
2.想法
与70爬楼梯以及509斐波那契数相似,此题为509变体形式
这里附上链接:70爬楼梯
509斐波那契数
由于第二个数为1,故tribonacci中的i从1开始,默认a[1]=1。
3.自己题解
class Solution {
public int tribonacci(int n) {
int []a=new int[n+1];
return tribonacci(1,n,a);
}
public int tribonacci(int i,int n,int []a) {
if(i>n)return 0;
if(i==n)return 1;
if(a[i]>0)return a[i];
//System.out.print(a[i]+" ");
a[i]=tribonacci(i+1,n,a)+tribonacci(i+2,n,a)+tribonacci(i+3,n,a);
return a[i];
}
}
4动态规划
留空