-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
来源:面试题
难度:★★
封装一个函数,接收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
Labels
No labels