方法一

思路:递归

  1. func fib(n int) int {
  2. if n <= 1 {
  3. return n
  4. }
  5. return fib(n-1) + fib(n-2)
  6. }

方法二

思路:常数dp

func fib(n int) int {

    if n <= 1 {
        return n
    }

    prev, cur := 0, 1

    for i := 1; i < n; i++ {
        prev, cur = cur, prev + cur
    }
    return cur
}