首页 > 其他分享 >1137. 第 N 个泰波那契数

1137. 第 N 个泰波那契数

时间:2024-04-10 12:22:22浏览次数:20  
标签:契数 return 迭代 int self 个泰波 1137 tribonacci Tn

目录

题目

  • 泰波那契序列 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

法一、递归

class Solution:
    def tribonacci(self, n: int) -> int:
        if n == 0:
            return 0
        if n <= 2:
            return 1
        return self.tribonacci(n-1) + self.tribonacci(n-2) + self.tribonacci(n-3)   

法二、迭代1

class Solution:
    def tribonacci(self, n: int) -> int:
        if n == 0:
            return 0
        if n <= 2:
            return 1        
        a,b,c=0,1,1
        d=0
        for i in range(3,n+1):
            d=a+b+c
            a,b,c=b,c,d
        return d

法三、迭代2

class Solution:
    def tribonacci(self, n: int) -> int:
        if n==0:
            return 0
        elif n==1:
            return 1
        elif n==2:
            return 1
        t=[0,1,1]
        for i in range(3,n+1):
             t.append(t[i-3]+t[i-2]+t[i-1])
        return t[n]

标签:契数,return,迭代,int,self,个泰波,1137,tribonacci,Tn
From: https://www.cnblogs.com/lushuang55/p/18125767

相关文章

  • 基于C语言用递归思想实现斐波那契数列的函数设计
    用C语言并利用递归思想实现设计一个程序,完成斐波那契数列的函数设计,利用递归实现!/********************************************************************* filename: * author :[email protected]* date :2024/04/07* function:利用递归思想实现设计......
  • 代码随想录算法训练营第38天|理论基础|509. 斐波那契数 |70. 爬楼梯 |746. 使用最小花
    代码随想录算法训练营第38天|理论基础|509.斐波那契数|70.爬楼梯|746.使用最小花费爬楼梯详细布置今天正式开始动态规划!理论基础无论大家之前对动态规划学到什么程度,一定要先看我讲的动态规划理论基础。如果没做过动态规划的题目,看我讲的理论基础,会有感觉是不......
  • c语言:用do-while输出前40项的斐波那契数值
    求Fibonacci数列的前40个元素。该数列的特点是第1、2两个数为1、1。从第3个数开始,每数是其前两个数之和。  分析:从题意可以用如下等式来表示斐波那契数列:     1,1,2,3,5,8,13,21…     f1=1     (n=1)     f2=1   ......
  • 以下是一个简单的C++程序,用于生成斐波那契数列的前n项
    斐波那契数列是一个在自然界中广泛出现的数列,其定义是:第一个和第二个数都是1,从第三个数开始,每一个数都是前两个数之和。斐波那契数列的前几项是:1,1,2,3,5,8,13,21,34,55,…以下是一个简单的C++程序,用于生成斐波那契数列的前n项:#include<iostream>#include<ve......
  • 【LeetCode 509 】斐波那契数
    题目描述原题链接:LeetCode.0509斐波那契数解题思路题目直接给出了公式,朴素解法可以直接用\(O(n)\)复杂度求出答案,可以看做是递归或动态规划的入门题;这里重点作为模板题来介绍矩阵快速幂技巧,讲一下\(O(log_2n)\)复杂度的解法:递推公式\(F(n)=F(n-1)+F(n-2)\),转换为矩......
  • 泰波纳契数列
    实现泰波纳契数列的时候,用寻常的写法效率很低,classSolution:deftribonacci(self,n:int)->int:dp=[0foriinrange(n+1)]iflen(dp)==1:return0eliflen(dp)==2orlen(dp)==3:return1else......
  • 简单对比Java、Python、Go、Rust等常见语言计算斐波拉契数的性能
    前言最近简单学了下Rust,以我这种菜鸟水平,没感受到什么安全、性能什么方面的优势,只觉得概念太多,编译各种报错。暂时也写不出来什么玩法,索性对比下各种学过的语言的性能。部分语言很早之前学过,很久不用就忘了,所以是用GPT写的。但运行逻辑很简单,所以应该没什么影响。具体的代码可以......
  • (斐波那契数列),假如兔子都不死,问到第12个月时一共有多少只兔子 //(有一对兔子,从出生后第
    //斐波那契数列,计算兔子的数量:11235813......从第三个数开始,//后一个数都是前两个数的和,假如兔子都不死,问到第12个月时一共有多少只兔子//(有一对兔子,从出生后第三个月开始,每一个月生一对兔子,小兔子同理)publicclassRabitDemo1{//斐波那契数列,计算兔子的数量:1......
  • 代码随想录算法训练营第三十八天| ● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯
    理论基础 代码随想录(programmercarl.com)动态规划的五部曲:确定dp数组(dptable)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组斐波那契数 题目链接:509.斐波那契数-力扣(LeetCode)思路:还好。classSolution{public:intfib(intn)......
  • 代码随想录算法训练营第三十八天 | 746. 使用最小花费爬楼梯,、70. 爬楼梯,509. 斐波那
     509.斐波那契数 已解答简单 相关标签相关企业 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>......