题目:
代码(首刷看解析):
class Solution {
public:
int tribonacci(int n) {
// 1.初始化
if(n==0) return 0;
else if(n==1) return 1;
else if(n==2) return 1;
int p=0,q=1,r=1;
int s=0;
// 2.遍历方向 左 → 右
for(int i = 3; i <= n ; ++i){
// 3.状态转移
s=p+q+r;
p=q;
q=r;
r=s;
}
// 4.得出结果
return s;
}
};