JavaScript 斐波那契数列问题的最优方法

本文探讨了JavaScript中解决斐波那契数列问题的不同方法,包括递归、使用数组以及使用两个变量。通过分析,指出递归方式效率最低,而数组和变量方法中,使用两个变量的方法在内存使用上更优。实测结果证实了这些观点,并邀请读者进行讨论。
摘要由CSDN通过智能技术生成

斐波那契数列简而言之即:数列中,前两个数是1和2,从第三个数起,值为它前两个数的和。

落到实际应用极为经典的 “爬楼梯” 问题:爬楼梯时每次迈步上上爬有两种选择,每次迈一个台阶和每次迈两个台阶。最后一步正好上至楼梯的最后一层。

分析:

当有1阶台阶时,有且只有1种方法,即:使用一步一阶,迈一次。

当有2阶台阶时,有2种方法,即:1步2阶,迈1次;1步1阶,迈两次。

当有3阶台阶时,有3种方法,即:1、第一步1阶,第二步2阶;2,第一步2阶,第二步1阶;3、每一步都迈1阶,迈3次。

当有4阶台阶时,有5种方法,即:1、一步1阶;2、一步2阶;3、第一步1阶,第二步2阶,第三步1阶;4,第一步2阶,后面两步分别1阶;5、前两步分别1阶,最后一步2阶。

.....

用 JavaScript 实现:如果台阶数是 n,有多少种迈法。

目前尝试三种方法:

1、函数递归,效率最低:

        

function stair1(n){
    if(n<3){
        return n;
    }else{
        return stair1(n-1)+stair1(n-2);
    }
}



2、使用数组ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值