需求:
现在要求输入一个正整数 n ,请你输出斐波那契数列的第 n 项。斐波那契数列是一个满足
的数列。
数据范围:1≤n≤40
要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n) ,本题也有时间复杂度 O(logn)O(logn) 的解法。
输入描述:一个正整数n
返回值描述:输出一个正整数
输入:4
复制返回值:3
实现:
1. 递归算法
function Fibonacci(n)
{
// write code here
if(n===1 || n===2){
return 1;
}else{
let a = Fibonacci(n-1)+Fibonacci(n-2);
return a;
}
}
module.exports = {
Fibonacci : Fibonacci
};
2.动态规划
function Fibonacci(n)
{
// write code here
let a = 1,b = 1,c = 1;
for(var i = 3;i <= n;i++){
c = a + b;
a = b;
b = c;
}
return c;
}
module.exports = {
Fibonacci : Fibonacci
};