1137.第 N 个泰波那契数

1.题目描述

泰波那契序列 Tn 定义如下:

T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2

给你整数 n,请返回第 n 个泰波那契数 Tn 的值。

示例 1:

输入:n = 4 输出:4 解释: T_3 = 0 + 1 + 1 = 2 T_4 = 1 + 1 + 2 = 4

示例 2:

输入:n = 25 输出:1389537

2.解题过程

暴力递归方式会超出时间限制,这里使用动态计算方式

class Solution {
    public int tribonacci(int n) {
        if (n == 0) {
            return 0;
        }

        if (n < 3) {
            return 1;
        }

        int x = 0;
        int y = 1;
        int z = 1;
        int s = 0;
        int count = 3;
        while (count <= n) {
            s = x + y + z;
            x = y;
            y = z;
            z = s;
            count++;
        }
        return s;
    }
}

results matching ""

    No results matching ""