题目描述
✅ 剑指 Offer 10- I. 斐波那契数列


思路分析
斐波那契数列是经典的动态规划问题,其本质是一个具有重叠子问题和最优子结构的问题。
参考代码
1
2
3
4
5
6
7
8
9
10
11
12
13
|
func fib(n int) int {
if n < 2 {
return n
}
pre, cur := 0, 1
for i := 2; i <= n; i++ {
pre, cur = cur, (pre+cur)%1_000_000_007
}
return cur
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
func fib(n int) int {
if n == 0 {
return 0
}
if n == 1 {
return 1
}
dp := make([]int, n+1)
dp[0] = 0
dp[1] = 1
for i := 2; i <= n; i++ {
dp[i] = (dp[i-1] + dp[i-2])%1000000007
}
return dp[n]
}
|
➡️ 点击查看 Java 题解
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!