斐波那契数列:从第3项开始,每一项都等于前两项之和。
例子🌰:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368......
1.递归法
//递归法(时间复杂度O(n²))
function fibonacci(n){
return n>2?fibonacci(n-1)+fibonacci(n-2):1;
}
2.优化版
//优化版 (时间复杂度O(n))
function fibonacci(n){
let arr=[0,1];
if(n<2){
return 1;
}else{
for(let i=2;i<=n;i++){
arr[i]=arr[i-1]+arr[i-2];
}
return arr[n];
}
}