leetcode70-爬楼梯-javascript

145 阅读1分钟
  1. 假设你正在爬楼梯。需要

    n
    阶你才能到达楼顶。

    每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

    注意:给定

    n
    是一个正整数。

  2. 主要是fibonacci数列
    注意fibonacci数列是1,1,2,3,5,8,13
    这里是从数列的第二位开始 1,2,3,5,8
    相比代码就要有些区别

  3. 普通递归:leetcode提交不通过,超出了时间限制

    function fibonacci(n){    if(n==1) return 1;    if(n==2) return 2;    return fibonacci(n-1)+fibonacci(n-2);}

  4. 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++){
    

  5. 设置默认参数

    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];}