前端手写代码面试题
目录

编写一个函数,实现斐波那契数列

· 约 2 分钟读完 · 第 102 / 125 章

推荐答案

本题详细解读

斐波那契数列简介

斐波那契数列是一个经典的数学问题,数列中的每个数字都是前两个数字的和。数列的前几项如下:

代码解析

  1. 边界条件处理:

    • 如果 n <= 0,返回 0,因为斐波那契数列的第0项是0。
    • 如果 n === 1,返回 1,因为斐波那契数列的第1项是1。
  2. 迭代计算:

    • 使用两个变量 a 和 b 来存储前两个斐波那契数。
    • 通过循环从第2项开始计算,每次迭代更新 a 和 b 的值,直到计算到第 n 项。
  3. 返回结果:

    • 最终返回 b,即第 n 项的斐波那契数。

时间复杂度

  • 该算法的时间复杂度为 O(n),因为只需要一次循环即可计算出第 n 项的斐波那契数。

空间复杂度

  • 该算法的空间复杂度为 O(1),因为只使用了常数个额外空间来存储中间结果。

适用场景

  • 该算法适用于需要计算斐波那契数列中某一项的场景,尤其是当 n 较大时,迭代方法比递归方法更高效。