导读 提到 斐波那契数列,大家可能立刻想到经典的递归公式:`F(n) = F(n-1) + F(n-2)`,但这种方法效率较低,尤其当 `n` 较大时,计算速...
提到 斐波那契数列,大家可能立刻想到经典的递归公式:`F(n) = F(n-1) + F(n-2)`,但这种方法效率较低,尤其当 `n` 较大时,计算速度会很慢。今天分享一种用 一位数组 的方法来高效解决这个问题!🌟
首先,我们定义一个数组 `dp[]`,长度为 `n+1`,用来存储斐波那契数列的值。初始化 `dp[0] = 0` 和 `dp[1] = 1`,然后通过循环逐步计算后续值:
`dp[i] = dp[i-1] + dp[i-2]`。这种方法只需要 O(n) 时间复杂度和 O(n) 空间复杂度,比递归更高效!👏
例如,计算前几项:
1️⃣ `dp[0] = 0`
2️⃣ `dp[1] = 1`
3️⃣ `dp[2] = 1`
4️⃣ `dp[3] = 2`
5️⃣ `dp[4] = 3`
6️⃣ `dp[5] = 5`
7️⃣ `dp[6] = 8`
8️⃣ `dp[7] = 13`
这种方法不仅简单易懂,还能轻松扩展到更大范围的计算需求!💡🌈
编程技巧 算法优化 Fibonacci