斐波那契數(通常用f(n)
表示)形成的序列稱為斐波那契數列。該數列由0
和1
開始,後面的每一項數字都是前面兩項數字的和。也就是:
f(0) = 0,f(1) = 1給定f(n) = f(n - 1) + f(n - 2),其中 n > 1
n
,請計算f(n)
。
示例 1:
輸入:n = 2示例 2:輸出:1
解釋:f(2) = f(1) + f(0) = 1 + 0 = 1
輸入:n = 3示例 3:輸出:2
解釋:f(3) = f(2) + f(1) = 1 + 1 = 2
輸入:n = 4輸出:3
解釋:f(4) = f(3) + f(2) = 2 + 1 = 3
該題採用動態規劃來解。
確定dp陣列以及其下標的含義
dp[i]表示為第i
個數的斐波那契數值
確定遞推公式
dp[i] = dp[i - 1] + dp[i - 2]
dp陣列的初始化
dp[0] = 0, dp[1] = 1
確定遍歷順序
從前向後遍歷
舉例推導dp陣列
當n = 10
時,dp =
classsolution
return
dp[n];
}};
/** * @param n
* @return */
var fib =function(n)
return
dp[n];
};
時間複雜度:o(n)
空間複雜度:o(n)
509 斐波那契數
斐波那契數,通常用 f n 表示,形成的序列稱為斐波那契數列。該數列由 0 和 1 開始,後面的每一項數字都是前面兩項數字的和。也就是 f 0 0,f 1 1 f n f n 1 f n 2 其中 n 1.給定 n,計算 f n 示例 1 輸入 2 輸出 1 解釋 f 2 f 1 f 0 1 0 1...
509 斐波那契數
斐波那契數,通常用 f n 表示,形成的序列稱為斐波那契數列。該數列由 0 和 1 開始,後面的每一項數字都是前面兩項數字的和。也就是 f 0 0,f 1 1 f n f n 1 f n 2 其中 n 1.給定 n,計算 f n 示例 1 輸入 2 輸出 1 解釋 f 2 f 1 f 0 1 0 1...
LeetCode509 斐波那契數
斐波那契數,通常用f n 表示,形成的序列稱為斐波那契數列。該數列由0和1開始,後面的每一項數字都是前面兩項數字的和。也就是 f 0 0,f 1 1 f n f n 1 f n 2 其中 n 1.給定n,計算f n 示例 1 輸入 2 輸出 1 解釋 f 2 f 1 f 0 1 0 1.示例 2 輸...