1137. N-th Tribonacci Number
Easy | DP | 24 ms (94.39%), 14.2 MB (43.64%)
Source: LeetCode - N-th Tribonacci Number GitHub: Solution / Performance
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.
Constraints:
0 <= n <= 37The answer is guaranteed to fit within a 32-bit integer, ie.
answer <= 2^31 - 1.
Input: n = 4
Output: 4
Explanation:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
Input: n = 25
Output: 1389537class Solution:
def tribonacci(self, n: int) -> int:
# (base case)
if n == 0: return 0
if n == 1: return 1
if n == 2: return 1
# ==================================================
# Dynamic Programming =
# ==================================================
# time : O(n)
# space : O(1)
first, second, third = 0, 1, 1
for i in range(n - 2):
ans = first + second + third
first = second
second = third
third = ans
return thirdclass Solution {
/**
* @time : O(n)
* @space : O(1)
*/
public int tribonacci(int n) {
/* base case */
if(n == 0) return 0;
if(n == 1 || n == 2) return 1;
int first = 0, second = 1, third = 1;
for(int i=0 ; i<n-2 ; i++) {
int ans = first + second + third;
first = second;
second = third;
third = ans;
}
return third;
}
}Last updated
Was this helpful?