斐波那契数-509

  1. 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
  2. F(0) = 0F(1) = 1
  3. F(n) = F(n - 1) + F(n - 2),其中 n > 1
  4. 给定 n ,请计算 F(n)
  5. 示例 1
  6. 输入:n = 2
  7. 输出:1
  8. 解释:F(2) = F(1) + F(0) = 1 + 0 = 1
  9. 示例 2
  10. 输入:n = 3
  11. 输出:2
  12. 解释:F(3) = F(2) + F(1) = 1 + 1 = 2
  13. 示例 3
  14. 输入:n = 4
  15. 输出:3
  16. 解释:F(4) = F(3) + F(2) = 2 + 1 = 3
  17. 提示:
  18. 0 <= n <= 30
  19. 来源:力扣(LeetCode
  20. 链接:https://leetcode.cn/problems/fibonacci-number
  21. 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

方法一:递归

var fib = function(n) {
  if (n < 2) return n
  return fib(n - 1) + fib(n - 2)
};

方法二:迭代

var fib = function(n) {
  if (n < 2) return n
  let m = 0
  let k = 1
  let s = 0
  for (let i = 1; i < n; i++) {
    s = m + k
    m = k
    k = s
  }
  return s
}