假设你正在爬楼梯。需要
n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定
n是一个正整数。- 主要是fibonacci数列
注意fibonacci数列是1,1,2,3,5,8,13
这里是从数列的第二位开始 1,2,3,5,8
相比代码就要有些区别 - 普通递归:leetcode提交不通过,超出了时间限制
function fibonacci(n){ if(n==1) return 1; if(n==2) return 2; return fibonacci(n-1)+fibonacci(n-2);} - for循环
function fibonacci(n){ var num1 = 1, num2 = 2, sum3 ; if(n==1) return num1; if(n==2) return num2; for(i=2;i<n;i++){ - 设置默认参数
function fibonacci(n,n1=1,n2=2){ if(n==1) return n1; if(n==2) return n2; return fibonacci(n-1,n2,n1+n2); }

6.数组
function Fb(n){ var fbArr = new Array(); fbArr = [1,2]; for(i=2;i<n;i++){ fbArr[i] = fbArr[i-1]+fbArr[i-2]; } return fbArr[n-1];}