力扣 1137 第 N 個泰波那契數

2021-09-28 11:19:30 字數 736 閱讀 8537

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

第一種遞迴

提交失敗 超出時間限制

第二種非遞迴:

用陣列儲存前三項以及每一步計算結果,需要時可以直接取出

int

tribonacci

(int n)

return a[n];}

}

第三種 非遞迴優化

泰波那契數列中,新的一項需要借助前三項的值得到,例如t(6) = t(5)+t(4)+t(3),在第二種解法中,我們卻將t(0)、t(1)、t(2)的值都存起來了,但是計算t(6)又用不到t(0)、t(1)、t(2),浪費了儲存空間。對此,我們可以使用區域性變數替換陣列,只保留前三項的值,每次計算完新的一項值後,更新一次前三項的值即可。

void

tribonaqi

(int i)

return temp;

}}

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...

5139 第 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 2t 4 1 1 2 4示例 2 輸入 n 25輸出 1389537...

1137 第 N 個泰波那契數(迭代 記憶性遞迴)

1.問題描述 泰波那契序列 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...