斐波那契列數JS的三種實現
阿新 • • 發佈:2020-09-20
大家是怎麼實現斐波那契列數的
1,1,2,3,5,8...
f(n)=f(n-1) + f(n-2)
廣州vi設計http://www.maiqicn.com 辦公資源網站大全https://www.wode007.com
方法一:
function f(n){
if(n == 1 || n == 0){
return 1;
}
return f(n-1) + f(n-2);
}
再給兩種解法,對比一下
方法二:
functionf(n){
vararr=[];
varvalue=null;
function_f(n){
if(n==1||n==0){
return1;
}
if(arr[n])
returnarr[n];
value=_f(n-1)+_f(n-2);
arr[n]=value;
returnvalue;
}
return_f(n);
}
還有一種更簡單的用的是陣列儲存
方法三:
functionfn(n){
vardp=newArray(n+1);
dp[0]=dp[1]=1;
for(leti=2,length=dp.length;i<length;i++){
dp[i]=dp[i-1]+dp[i-2];
}
returndp[n];
}