Featured image of post 509. 斐波那契数

509. 斐波那契数

题目描述

斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 01 开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,F(1) = 1

F(n) = F(n - 1) + F(n - 2),其中 n > 1

给定 n ,请计算 F(n)

示例 1:

  • 输入:n = 2
  • 输出:1
  • 解释:F(2) = F(1) + F(0) = 1 + 0 = 1

示例 2:

  • 输入:n = 3
  • 输出:2
  • 解释:F(3) = F(2) + F(1) = 1 + 1 = 2

示例 3:

  • 输入:n = 4
  • 输出:3
  • 解释:F(4) = F(3) + F(2) = 2 + 1 = 3

提示:

  • 0 <= n <= 30

解法一:动态规划

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
func fib(n int) int {
    if n < 2 {
        return n
    }
    a, b := 0, 1
    for i := 2; i <= n; i++ {
        tmp := b
        b = a + b
        a = tmp
    }
    return b
Licensed under CC BY-NC-SA 4.0
最后更新于 2023/05/19 11:21:15
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计