「每日LeetCode」2021年3月3日

本文最后更新于:2023年3月19日 晚上

Lt1137. 第 N 个泰波那契数

1137. 第 N 个泰波那契数

泰波那契序列  T 定义如下: 
T = 0, T = 1, T = 1, 且在 n >= 0  的条件下 T = T + T + T
给你整数 n,请返回第 n 个泰波那契数  T 的值。
 示例 1:

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

示例 2:

1
2
输入:n = 25
输出:1389537

提示:

  • 0 <= n <= 37
  • 答案保证是一个 32 位整数,即 answer <= 2^31 - 1

思路

同斐波那契数列动态规划思路,只需要记录三个数即可。

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* @param {number} n
* @return {number}
*/
var tribonacci = function (n) {
if (n < 1) return 0;
else if (n <= 2) return 1;
let first = 0;
let middle = 1;
let last = 1;
for (let i = 2; i < n; i++) {
[first, middle, last] = [middle, last, first + middle + last];
}
return last;
};