LeetCode in Python 509. Fibonacci Number (斐波那契数)

斐波那契数实现方式有多种方法,最容易理解的为递归法,也可使用动态规划降低时间复杂度,本文给出递归法和动态规划两种方法的代码实现。

示例:

图1 斐波那契数输入输出示例

方法一:递归法

代码:

python 复制代码
class Solution:
    def fib(self, n):
        if n == 0 or n == 1:
            return n
        else:
            return self.fib(n - 1) + self.fib(n - 2)

方法二:动态规划法

代码:

python 复制代码
class Solution:
    def fib(self, n):
        n1, n2 = 0, 1
        for _ in range(n):
            n1, n2 = n2, n1 + n2
        return n1

解释:

1)求f(n)需要计算n-1次,例如计算f(4),需要计算f(4)、f(3)和f(2),故循环n次后取保存上一次计算结果的n1。

相关推荐
CV山月几秒前
大模型强化学习对齐:从 RLHF 框架到 PPO 算法原理
人工智能·python·大模型·强化学习·多模态·研究生
地平线开发者2 分钟前
bevformer算法模型详细解读
算法
用户7395480020611 分钟前
本地 CSV 清洗的小细节:先标准化,再去重,并保留可检查的报告
python
liliangcsdn19 分钟前
ICIR权重矩阵如何加权标准化为综合因子
算法
AC赳赳老秦31 分钟前
文旅市场公开数据分析:基于 OpenClaw 采集景区客流与门票公示数据,生成区域文旅热度监测报告
java·c语言·python·php·symfony·deepseek·openclaw
青 春 记 忆32 分钟前
零基础入门python68:FastAPI 完整博客运行与项目验收
python·fastapi·后端开发
鹿鹿学长35 分钟前
发题前三天,组委会在过三道关:赛题七渠道首发、知网统一收卷、AI 详情 PDF 首进支撑材料
python·自动化
SDWAN_Cheap1 小时前
SD-WAN智能选路技术的算法与实现机制
算法·php·sdwan
geovindu1 小时前
python: Face Recognition
开发语言·后端·python·人脸识别
不会就选b1 小时前
数据结构之树&&二叉树(二)
数据结构·算法