LC509. 斐波那契数
解题思路
斐波那契数列为前两项的和,第0项和第1项分别为0, 1.
f(0) = 0 f(1) = 1 f(2) = f(0) + f(1) = 1 f(3) = f(2) + f(1) = 3
下标从2开始,从前往后遍历
f[n] = f[n - 1] + f[n - 2]
代码
Python
1 | class Solution: |
C++
1 | class Solution { |
GO
func fib(n int) int {
if n <= 1 {return n}
MOD := 1000000007
dp := make([]int, n + 1, n + 1)
dp[1] = 1
for i := 2; i < n + 1; i++ {
dp[i] = dp[i - 1] + dp[i - 2]
dp[i] %= MOD
}
return dp[n]
}
评论
