查找斐波纳契数列中第 N 个数。
所谓的斐波纳契数列是指:
- 前2个数是 0 和 1 。
- 第 i 个数是第 i-1 个数和第i-2 个数的和。
const foo= (n)=> { if(n==1){ return 0 } if(n==2){ return 1 } return foo(n-2)+foo(n-1)}
经典的递归实现方式,当选取向n过大时,严重的影响了执行效率,我通过声明变量来储存前两项相加的和
const foo= (n)=> { //前面两项通过特殊值处理 if(n==1){ return 0 } if(n==2){ return 1 } //第一项的值 let a = 0; //第二项 let b = 1; //第三项 let c = 0; for(let i = 3; i
这种方法极大的提高的计算效率,通过循环的方向不断进行累加