算法和数据结构之小白(二)

2020-03-24  本文已影响0人  羊驼驼驼驼
算法
力扣第二题(斐波那契数列)
1. 题目
fib.png
2. 思路
3. 解法
var fib = function(N) {
  if(N === 0 || N ===1) {
    return N
  }
  return fib(N - 1) + fib(N - 2)
}
点击提交记录里的通过我们可以看一下我们用了多少时间和空间
递归.png
var fib = function(N) {  // N = 2
  let cache = [];
  for(let i = 0;i<=N;i++) {
    if(i === 0 || i ===1) {
     // 当i = 0时 cache[0] = 0
     // 当i = 1时 cache[1] = 1
     // cache = [0,1]
      cache[i] = i
    } else {
      //当 i = 2 时 cache[2] = cache[2 - 1] + cache[2 - 0]
      cache[i] = cache[i - 1] + cache[i - 2]
    }
  }
  // 最后返回cache[2] 也就是 1 + 0 
  return cache[N]
}
点击提交记录里的通过我们可以看一下我们用了多少时间和空间
递推.png
4. 复杂度
第二题斐波那契数列完成,大家如果有更好的思路和想法欢迎在下方评论写出,共同学习,共同进步,加油~
happy
上一篇 下一篇

猜你喜欢

热点阅读