1.递归
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*/
function Fibonacci( n ) {
// write code here
if(n === 1) {
return 1
}
if(n === 2) {
return 1
}
return Fibonacci(n-1)+Fibonacci(n-2)
}
module.exports = {
Fibonacci : Fibonacci
};
2.for循环
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*/
function Fibonacci( n ) {
// write code here
let arr = [0,1,1]
arr[0] = 0
if(n == 1) {
return arr[1]
}
if(n == 2) {
return arr[2]
}
for (let i=2; i<=n; i++) {
arr[i] = arr[i-1] + arr[i-2]
}
console.log(arr)
return arr[n]
}
module.exports = {
Fibonacci : Fibonacci
};
优化:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*/
function Fibonacci( n ) {
// write code here
let f = [0,1,1]
if(n == 1) {
return f[1]
}
if(n == 2) {
return f[2]
}
for (let i=2; i<=n; i++) {
f[i] = f[i-1] + f[i-2]
}
console.log(f)
return f[n]
}
module.exports = {
Fibonacci : Fibonacci
};