-
Notifications
You must be signed in to change notification settings - Fork 19.9k
/
Copy pathTribonacci.java
38 lines (33 loc) · 929 Bytes
/
Tribonacci.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.thealgorithms.dynamicprogramming;
/**
* The {@code Tribonacci} class provides a method to compute the n-th number in the Tribonacci sequence.
* N-th Tribonacci Number - https://leetcode.com/problems/n-th-tribonacci-number/description/
*/
public final class Tribonacci {
private Tribonacci() {
}
/**
* Computes the n-th Tribonacci number.
*
* @param n the index of the Tribonacci number to compute
* @return the n-th Tribonacci number
*/
public static int compute(int n) {
if (n == 0) {
return 0;
}
if (n == 1 || n == 2) {
return 1;
}
int first = 0;
int second = 1;
int third = 1;
for (int i = 3; i <= n; i++) {
int next = first + second + third;
first = second;
second = third;
third = next;
}
return third;
}
}