JavaScript实现斐波那契数列的四种方法介绍(代码)


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

function fibonacci(n){

        var a = [0,1,1];

        if(n < 0) throw new Error('输入的数字不能小于0');

        if(n >= 3){

            for(var i=3;i<=n;i++){

                a[i] = a[i-1]+a[i-2];

            }

        }

        return a[n];

    }

方法4:直接使用变量实现

??相校于使用数组的方式去存放,使用变量的方式就不会那么浪费内存了,因为总共只会有3个变量,但是也有缺点,它只能保存最后计算的值以及前两个值,以前的值会被替换掉。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

function fibonacci(n){

        var pre = 0;//表示前一个值

        var cur = 1;//表示后一个值

        var data;//表示当前值

 

        if(n < 0) throw new Error('请输入大于0的值!');

        if(n == 0) return 0;

        if(n == 1) return 1;

        if(n > 2){

            for(var i=2;i<=n;i++){

                data = pre + cur;

                pre = cur;

                cur = data;

            }

        }

        return data;

    }

总结

??其实大部分人在求斐波那契数列时想到的都是递归的方法,但是就其事件复杂度来看,不是一个好的方法,那么我们的优化思路可能就是使用空间换换时间了,就是将递归产生的值保存下来,以免下次还要重复计算。

以上就是JavaScript实现斐波那契数列的四种方法介绍(代码)的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

详解js中map和foreach的差异

js怎么删除数组中某一元素

javascript主要作用是什么

javascript数组怎么删除项(元素)

javascript逻辑运算符有哪些

react表单元素的用法介绍(附代码)

聊聊javascript人脸识别技术

浅谈javascript中检查数组是否包含指定值的几种方法

javascript的map方法有什么用

c和javascript区别有哪些

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...