
1

泰波那契数列题解_安东尼漫长的技术岁月的技术博客_51CTO博客
source link: https://blog.51cto.com/u_13961087/5614402
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

泰波那契数列题解
精选 原创听说过斐波那契数列,那你听说过泰波那契数列吗?
泰波那契序列 Tn 定义如下:
T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2
给你整数 n,请返回第 n 个泰波那契数 Tn 的值。
输入:n = 4
输出:4
解释:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
输出:4
解释:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
输入:n = 25
输出:1389537
输出:1389537
-
0 <= n <= 37
- 答案保证是一个 32 位整数,即
answer <= 2^31 - 1
。
斐波那契是 T(n) = T(n-1) + T(n-2)
泰波那契是 T(n) = T(n-1) + T(n-2) + T(n-3)
那求和也简单鸭,第一个数是 0,第二个数是 1,第三个数是 2
var tribonacci = function(n) {
let x = 0
let y = 1
let z = 1
let res = 0
if(n<2) return n
if(n==2) return 1
for(let i=3;i<=n;i++){
res = x+y+z
x = y
y = z
z = res
}
return res
};
let x = 0
let y = 1
let z = 1
let res = 0
if(n<2) return n
if(n==2) return 1
for(let i=3;i<=n;i++){
res = x+y+z
x = y
y = z
z = res
}
return res
};
var tribonacci = function(n) {
let x = 0
let y = 1
let z = 1
if(n<2) return n
if(n==2) return 1
let res = tribonacci(n-1) + tribonacci(n-2) + tribonacci(n-3)
return res
};
let x = 0
let y = 1
let z = 1
if(n<2) return n
if(n==2) return 1
let res = tribonacci(n-1) + tribonacci(n-2) + tribonacci(n-3)
return res
};

运行时间超出内存,递归时间复杂度 O(3n)
小结:
本题关键在于认识下泰波那契数,有概念即可~~
是不是对于斐波那契、爬楼梯这样的题目得心应手了呢?(●'◡'●)
OK,以上便是本篇分享。点赞关注评论,为好文助力?
我是掘金安东尼 ? 100 万人气前端技术博主 ? INFP 写作人格坚持 1000 日更文 ✍ 关注我,安东尼陪你一起度过漫长编程岁月 ?
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK