## Algorithm

Problem Name: 1137. N-th Tribonacci Number

The Tribonacci sequence Tn is defined as follows:

T0 = 0, T1 = 1, T2 = 1, and Tn+3 = Tn + Tn+1 + Tn+2 for n >= 0.

Given n, return the value of Tn.

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 - 1.

## Code Examples

### #1 Code Example with Java Programming

Code - Java Programming

class Solution {
public int tribonacci(int n) {
if (n <= 2) {
return n == 0 ? 0 : 1;
}
int[] dp = new int[n + 1];
dp[1] = dp[2] = 1;
for (int i = 3; i <= n; i++) {
dp[i] = dp[i - 2] + dp[i - 1] + dp[i - 3];
}
return dp[n];
}
}
Copy The Code &

Input

cmd
n = 4

Output

cmd
4

### #2 Code Example with Javascript Programming

Code - Javascript Programming

const hash = {}
const tribonacci = function(n) {
if(n === 0) return 0
if(n === 2 || n === 1) return 1
if(hash[n] != null) return hash[n]
let tmp = tribonacci(n - 3) + tribonacci(n - 2) + tribonacci(n - 1)
return hash[n] = tmp
};
Copy The Code &

Input

cmd
n = 4

Output

cmd
4

### #3 Code Example with Python Programming

Code - Python Programming

class Solution:
def tribonacci(self, n: int) -> int:
t0, t1, t2 = 0, 1, 1
for _ in range(n):
t0, t1, t2 = t1, t2, t0 + t1 + t2
return t0

Copy The Code &

Input

cmd
n = 25

Output

cmd
1389537

### #4 Code Example with C# Programming

Code - C# Programming

namespace LeetCode
{
public class _1137_NThTribonacciNumber
{
private int[] memo = new int[38];

public _1137_NThTribonacciNumber()
{
memo[0] = 0;
memo[1] = 1;
memo[2] = 1;
}

public int Tribonacci(int n)
{
if (n < 3) return memo[n];
if (memo[n] != 0) return memo[n];

for (int i = 3; i <= n; i++)
{
if (memo[i] != 0) continue;
memo[i] = memo[i - 1] + memo[i - 2] + memo[i - 3];
}

return memo[n];
}
}
}
Copy The Code &

Input

cmd
n = 25

Output

cmd
1389537