美文网首页
斐波那契数列的两种实现方式

斐波那契数列的两种实现方式

作者: 向布谷鸟说早安 | 来源:发表于2018-11-17 16:45 被阅读8次

前几天面试遇到这个算法,半年前的我还觉得这对我来说是多么困难的一道题,但在面试的时候,我竟然略微思索就写出来了,虽然面完试回来,有些细节实现的不是很好。

多亏最近都在刷剑指offer和leetcode。

想起来前段时间同事还在嘲笑我为什么要刷算法题,作为一个前端开发工程师,我无力反驳,我只是想更优秀些。

递归和迭代
递归:

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

迭代:

function fobonicci(n) {
    if(n === 1 || n ===2 ) return 1;
    var result;
    var oldResult = 1;
    var oldResult2 = 1;
    while(n > 2) {
        result = oldResult2 + oldResult;
        oldResult2 = oldResult;
        oldResult = result;
        n--;
    }
  return result;
}

相关文章

网友评论

      本文标题:斐波那契数列的两种实现方式

      本文链接:https://www.haomeiwen.com/subject/mbhifqtx.html