原题链接:Leetcode 1137. 第 N 个泰波那契数
代码1:
class Solution {
public:
int a[40];
int tribonacci(int n) {
a[0]=0;
a[1]=1;
a[2]=1;
if(n<=1) return n;
if(a[n]) return a[n];
a[n]=tribonacci(n-1)+tribonacci(n-2)+tribonacci(n-3);
return a[n];
}
};
代码2:
class Solution {
public:
int tribonacci(int n) {
if(n<=1) return n;
if(n==2) return 1;
int a=0,b=1,c=1,res=0;
for(int i=3;i<=n;i++){
res=a+b+c;
a=b;
b=c;
c=res;
}
return res;
}
};