lgwebdream / FE-Interview

🔥🔥🔥 前端面试,独有前端面试题详解,前端面试刷题必备,1000+前端面试真题,Html、Css、JavaScript、Vue、React、Node、TypeScript、Webpack、算法、网络与安全、浏览器
https://lgwebdream.github.io/FE-Interview/
Other
6.76k stars 897 forks source link

记录fib(n - 1)和fib(n-2) 避免重复计算 从下标2开始向上计算 #1153

Closed geekftz closed 3 years ago

geekftz commented 3 years ago

// 记录fib(n - 1)和fib(n-2) 避免重复计算 从下标2开始向上计算 function fib1(n) { if (n < 0) throw new Error('输入的数字不能小于0');

if (n < 2) { return n; }

let f0 = 0; let f1 = 1; let fn = f0;

// 从下标为2开始 let i = 2;

while (i <= n) { fn = f0 + f1; f0 = f1; f1 = fn; i++; }

return fn; }

var n = 3; var res1 = fib1(n); console.log('%c res1 = %s', 'color: #007300', res1);