T0 = 0, T1 = 1, T2 = 1, and Tn+3 = Tn + Tn+1 + Tn+2 for n >= 0.
Input: n = 4
Output: 4
Explanation:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
Input: n = 25
Output: 1389537
class Solution
{
//max n == 38
array<int, 38> _storage = {0,1,1};
public:
constexpr int tribonacci(int n)
{
if(n && !_storage[n])
_storage[n] =
tribonacci(n-1) + tribonacci(n-2) + tribonacci(n-3);
return _storage[n];
}
};