N-th Tribonacci Number

T(n) = T(n-1) + T(n-2) + T(n-3); rolling 3 scalars.

Easy
Time O(n) Space O(1)
LeetCode
3 min read
dp fibonacci

Problem#

T(0) = 0, T(1) = T(2) = 1; T(n) = T(n-1) + T(n-2) + T(n-3). Return T(n).

Examples#

  • n = 44
  • n = 251389537

Constraints#

  • 0 <= n <= 37.

Approach#

Three rolling scalars.

Solution#

N-th Tribonacci Number
class Solution {
public:
int tribonacci(int n) {
if (n == 0) return 0;
if (n < 3) return 1;
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;
}
};

Editorial#

Generalization of Fibonacci. Same rolling-scalar pattern with one extra slot.

Complexity#

  • Time: O(n).
  • Space: O(1).

Concept revision#

Search ESC

Keyboard shortcuts

Shortcuts are disabled while typing in inputs.