All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g1101_1200.s1137_n_th_tribonacci_number.Solution Maven / Gradle / Ivy

package g1101_1200.s1137_n_th_tribonacci_number;

// #Easy #Dynamic_Programming #Math #Memoization #Dynamic_Programming_I_Day_1
// #2022_03_09_Time_0_ms_(100.00%)_Space_41.3_MB_(10.42%)

/**
 * 1137 - N-th Tribonacci Number\.
 *
 * Easy
 *
 * 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.
 *
 * **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
 *
 * **Constraints:**
 *
 * *   `0 <= n <= 37`
 * *   The answer is guaranteed to fit within a 32-bit integer, ie. `answer <= 2^31 - 1`.
**/
public class Solution {
    public int tribonacci(int n) {
        if (n == 0) {
            return 0;
        } else if (n <= 2) {
            return 1;
        } else {
            int tn = 0;
            int tn1 = 1;
            int tn2 = 1;
            int tmp = 0;
            for (int i = 3; i <= n; i++) {
                tmp = tn + tn1 + tn2;
                tn = tn1;
                tn1 = tn2;
                tn2 = tmp;
            }
            return tmp;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy