# 题目描述

# 思路与题解

和昨天的斐波那契数思路一样,用滚动数组的思想,关键点在于设置 p、q、t、r 的初值,我们知道,r = p + q + t,第一个要计算的值是 Fn (3),T_3 = 0 + 1 + 1,这是滚动之后的,所以 p、q、t、r 的初值应该是 0、0、1、1,这样滚动过后才能变成 0、1、1,就能算出 Fn (3) = r = 0 + 1 + 1。Easy~

class Solution {
public:
    int tribonacci(int n) {
        if (n < 2) return n;
        if (n == 2) return 1;
        int p = 0, q = 0, t = 1, r = 1;
        for (int i = 3; i <= n; ++i) {
            p = q;
            q = t;
            t = r;
            r = p + q + t;
        }
        return r;
    }
};
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

宇凌喵 微信支付

微信支付

宇凌喵 支付宝

支付宝