第 N 个泰波那契数
题目:第 N 个泰波那契数 泰波那契序列 Tn 定义如下:
T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2
给你整数 n,请返回第 n 个泰波那契数 Tn 的值。 与斐波那契数列数列解决方式一致,首先尝试使用递归解决
var tribonacci = function(n) {
if (n == 0) return 0
if (n == 1 || n == 2) return 1
return tribonacci(n-1) + tribonacci(n-2) + tribonacci(n-3)
};
1
2
3
4
5
2
3
4
5
使用动态规划优化性能:
var tribonacci = function(n) {
if (n == 0) return 0
if (n == 1 || n == 2) return 1
let arr = new Array(n + 1)
arr[0] = 0
arr[1] = 1
arr[2] = 1
for(let i = 3; i <= n; i++) {
arr[i] = arr[i - 1] + arr[i - 2] + arr[i - 3]
}
return arr[n]
};
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
上次更新: 2025/09/05, 8:09:00