Skip to content

第 8 期(2019-05-15):求斐波那契数前N项 #10

@wingmeng

Description

@wingmeng

来源:面试题
难度:★★

封装一个函数,接收1个整数参数 n,返回 斐波那契数列 前 n 项

/**
 * @param {number} n - 整数
 */
function fibonacci(n) {
  // 你的代码
}

参考答案:

function fibonacci(n) {
  var a = 0;
  var b = 1;
  var c = a + b;
  var arr = [c];

  for (var i = arr.length; i < n; i++) {
    arr.push(c);
    a = b;
    b = c;
    c = a + b;
  }

  return arr;
}

// 再来个使用递归+ES6实现的(原创)
function fibonacci(n) {
  let fn = i => i < 3 ? 1 : fn(i - 1) + fn(i - 2);
  return [...Array(n).keys()].map(it => fn(it + 1));
}

本期优秀回答者: @AMY-Y

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions