5139 第 N 個泰波那契數

2021-09-25 15:40:03 字數 882 閱讀 5521

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

2t_4 =1+

1+2=

4

示例 2:

輸入:n =

25輸出:1389537

0 <= n <= 37

答案保證是乙個 32 位整數,即answer <= 2^31 - 1

這道題初看第一反應就是遞迴,一直遞迴到0,1,2然後返回。

class

solution

return

tribonacci

(n-3)+

tribonacci

(n-2)+

tribonacci

(n-1);

}}

然後,雖然能正確計算出來結果,但是leetcode返回超時,沒辦法,只能想想如何減少運算次數.對於遞迴來說,存在著重複計算,所以,我們主要做的就是減少這些不必要的重複計算,也就是快取所有已經計算過得資料。因為最多求到37,注意,這裡是下標37,所以我們就定義乙個大小為38的陣列,然後快取所有計算過的資料。

第二種:

public

inttribonacci

(int n)

return arr[n]

;}

遞迴2 第 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 輸出 138...

LeetCode 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 輸出 138...

力扣 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 輸出 138...