shfshanyue / Daily-Question

互联网大厂内推及大厂面经整理,并且每天一道面试题推送。每天五分钟,半年大厂中
https://q.shanyue.tech
4.92k stars 510 forks source link

【Q635】请输出 100 以内的菲波那切数列 #653

Open shfshanyue opened 3 years ago

shfshanyue commented 3 years ago
function fib (n) {
  let a = 0, b = 1;
  let r = [0]
  while (b < n) {
    r.push(b);
    [a, b] = [b, a + b];
  }
  return r
}
heretic-G commented 3 years ago
function Fibonacci (n, ac1 = 1, ac2 = 1, arr = [0]) {
    if (n <= ac2) {
        return arr
    }
    arr.push(ac2)
    return Fibonacci(n, ac2, ac1 + ac2, arr)
}
haotie1990 commented 3 years ago
function fibonacciDp(n) {
  const f = [];
  f[0] = 0;
  f[1] = 1;
  for(let i = 2; i < n; i++) {
    f[i] = f[i - 1] + f[i - 2];
  }
  return f;
}
Jie-echo commented 2 years ago

function fib(n, fib1 = 1, fib2 = 1, result = []) { if(n <= fib1){ return result } result.push(fib1) return fib(n, fib2, fib1 + fib2, result) }