1. 程式人生 > 其它 >1137.第n個泰波那契數

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

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/n-th-tribonacci-number
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

class Solution:
    @functools.lru_cache()  
#在 python3 中,可以使用語言自帶的「記憶化搜尋」的註解:@functools.lru_cache(),
#它的用法只有一行,即在要執行記憶化的函式上面加上一行註解,即可在語言級別的自動化的記憶化遞迴。
#1.注意是在python3中使用,2.不加此語句會報超時
def tribonacci(self, n: int) -> int: if n<2: return n if n==2: return 1 return self.tribonacci(n-1)+self.tribonacci(n-2)+self.tribonacci(n-3)
class Solution(object):
    def tribonacci(self, n):
        """
        :type n: int
        :rtype: int
        """
        T=[0]*100
        T[0]=0
        T[1]=1
        T[2]=1
        for i in range(3,n+1):
            T[i]=T[i-1]+T[i-2]+T[i-3]
        return T[n]