大家是怎么實作斐波那契列數的
1,1,2,3,5,8...
f(n)=f(n-1) + f(n-2)
方法一:
function f(n){ if(n == 1 || n == 0){ return 1; } return f(n-1) + f(n-2); }index.html
再給兩種解法,對比一下
方法二:
function f(n) { var arr = []; var value = null; function _f(n) { if (n == 1 || n == 0) { return 1; } if (arr[n]) return arr[n]; value = _f(n - 1) + _f(n - 2); arr[n] = value; return value; } return _f(n); }方法二
還有一種更簡單的用的是陣列存盤
方法三:
function fn(n) { var dp = new Array(n + 1); dp[0] = dp[1] = 1; for (let i = 2, length = dp.length; i < length; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[n]; }方法三
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/73756.html
標籤:JavaScript
上一篇:循序漸進VUE+Element 前端應用開發(7)--- 介紹一些常規的JS處理函式
下一篇:SpringBoot + Vue + ElementUI 實作后臺管理系統模板 -- 前端篇(六):使用 vue-router 進行動態加載選單
