N-th Tribonacci Number

easy dp recurrence

Problem

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.

Inputn = 6
Output13
0,1,1,2,4,7,13.

def tribonacci(n):
    if n < 2: return n
    a, b, c = 0, 1, 1
    for _ in range(3, n + 1):
        a, b, c = b, c, a + b + c
    return c
function tribonacci(n) {
  if (n < 2) return n;
  let a = 0, b = 1, c = 1;
  for (let i = 3; i <= n; i++) {
    const d = a + b + c;
    a = b; b = c; c = d;
  }
  return c;
}
class Solution {
    public int tribonacci(int n) {
        if (n < 2) return n;
        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;
    }
}
int tribonacci(int n) {
    if (n < 2) return n;
    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;
}
Time: O(n) Space: O(1)