1137. N-th Tribonacci Number

1. Description

The Tribonacci sequence $T_n$ is defined as follows:
$T_0$ = 0, $T_1$ = 1, $T_2$ = 1, and $T_{n+3}$ = $T_n$ + $T_{n+1}$ + $T_{n+2}$ for n >= 0.
Given n, return the value of $T_n$.

2. Example

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

3. Constraints

  • 0 <= n <= 37
  • The answer is guaranteed to fit within a 32-bit integer, ie. answer <= $2^{31}$ - 1.

4. Solutions

Dynamic Programming

Time complexity: O(n)
Space complexity: O(1)

class Solution {
public:
    int tribonacci(int n) {
        if (n == 0) {
            return 0;
        } else if (n == 1 || n == 2) {
            return 1;
        } else {
            int a = 0, b = 1, c = 1;
            for (int i = 3; i <= n; ++i) {
                int d = a + b + c;
                a = b;
                b = c;
                c = d;
            }

            return c;
        }
    }
};
comments powered by Disqus