2020-07-25 BD真题 斐波那契数列3种写法

2020-07-26  本文已影响0人  苦庭
//三种方法写斐波那契
// 1. DP
var fib1 = function(n) {
    let dp = [];
  dp[0] = 1;
  dp[1] = 1;
  for(let i=2; i<n; i++){
    dp[i] = dp[i-1]+dp[i-2];
  }
  return dp[n-1];
}

// 2. 指针交替
var fib2 = function(n) {
    if(n<=2) return 1;
    let left = 1;
  let right = 1;
  let res;
  for(let i=2; i<n; i++) {
    res = left + right;
    left = right;
    right = res;
  }
  return res;
}

// 3. 递归
var fib3 = function re(n) {
    if(n<=2) return 1;
  return re(n-1) + re(n-2);
}

console.log(fib1(10));
console.log(fib2(10));
console.log(fib3(10));
上一篇 下一篇

猜你喜欢

热点阅读