第n个泰波那契数

53 阅读1分钟
package org.example.leetcodeBook.dp;  
  
//第n个泰波那契数  
//泰波那契序列 Tn 定义如下:  
// T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2  
// 给你整数 n,请返回第 n 个泰波那契数 Tn 的值。  
// 示例 1:  
// 输入:n = 4  
// 输出:4  
// 解释:  
// T_3 = 0 + 1 + 1 = 2  
// T_4 = 1 + 1 + 2 = 4  
public class TribonacciSolution {  
    public int tribonacci(int n){  
    if(n==0)return 0;  
    if(n<=2)return 1;  
    int p=0,q=0,r=1,s=1;  
    for (int i = 3; i <=n ; i++) {  
        p=q;  
        q=r;  
        r=s;  
        s=p+q+r;  
    }  
    return s;  
    }  
}