Description
The Tribonacci sequence Tn is defined as follows:
T 0 = 0 , T 1 = 1 , T 2 = 1 , a n d T n + 3 = T n + T n + 1 + T n + 2 f o r n > = 0. T_0 = 0, T_1 = 1, T_2 = 1, and T_{n+3} = T_n + T_{n+1} + T_{n+2} for n >= 0. T0=0,T1=1,T2=1,andTn+3=Tn+Tn+1+Tn+2forn>=0.
Given n, return the value of Tn.
Examples
Example 1:
Input: n = 4
Output: 4
Explanation:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
Example 2:
Input: n = 25
Output: 1389537
Constraints:
0 <= n <= 37
The answer is guaranteed to fit within a 32-bit integer, ie. answer <= 2 31 2^{31} 231 - 1.
思路
dp,可以用数组也可以直接用3个数值
代码
class Solution {
public int tribonacci(int n) {
if (n == 0)
return 0;
if (n == 1)
return 1;
if (n == 2)
return 1;
int a = 0;
int b = 1;
int c = 1;
for (int i = 3; i <= n; i += 3) {
a = a + b + c;
b = a + b + c;
c = a + b + c;
}
if (n % 3 == 0)
return a;
if (n % 3 == 1)
return b;
return c;
}
}