算法简单题,吾辈重拳出击 - 第 N 个泰波那契数

简介: 听说过斐波那契数列,那你听说过泰波那契数列吗?

image.png

听说过斐波那契数列,那你听说过泰波那契数列吗?

上题!


泰波那契序列 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
复制代码


提示:

  • 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
};


第二反应



递归求解


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
};

image.png


运行时间超出内存,递归时间复杂度 O(3n)


小结:


本题关键在于认识下泰波那契数,有概念即可~~

是不是对于斐波那契、爬楼梯这样的题目得心应手了呢?(●'◡'●)


目录
打赏
0
0
0
0
2
分享
相关文章
|
10月前
|
C++
第 N 个泰波那契数(C++)
第 N 个泰波那契数(C++)
50 0
动态规划-1137. 第 N 个泰波那契数
一、题目描述: 泰波那契序列 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   提示: 0 <= n <= 37 答案保证是一个 32 位整数,即 answer <= 2^31 - 1。 来源:力扣(LeetCode) 链接:leetcode-cn.com/
【学会动态规划】第 N 个泰波那契数(1)
【学会动态规划】第 N 个泰波那契数(1)
146 1
LeetCode 训练场:1137. 第 N 个泰波那契数
LeetCode 训练场:1137. 第 N 个泰波那契数
110 0
1-2求斐波拉契数
求斐波拉契数 斐波拉契数为,Fib(N) = Fib(N-1)+Fib(N-2) F(0)=F(1)=1 用Java编写能求Fib(N)的程序 输入为N,须输出Fib(N) 如输入 3 输出: 3 import java.
1159 0
|
10月前
|
动态规划之第 N 个泰波那契数/三步问题【leetCode】【算法】
动态规划之第 N 个泰波那契数/三步问题【leetCode】【算法】
【动态规划刷题 1 】 第N个泰波那契数&& 三步问题
【动态规划刷题 1 】 第N个泰波那契数&& 三步问题
|
9月前
蓝桥杯动态规划-第五弹 最大子数组和 买卖股票最佳时机IV 第N个泰波那契数 环形数组
蓝桥杯动态规划-第五弹 最大子数组和 买卖股票最佳时机IV 第N个泰波那契数 环形数组

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等