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。

相关推荐
青山是哪个青山3 分钟前
LeetCode 300:最长递增子序列
算法
打工仔折腾 AI5 分钟前
从BPE到SentencePiece:Transformer分词原理与Python实战对比
android·人工智能·python·深度学习·langchain·transformer·ai agent 实战
hetao173383710 分钟前
2026-10-01~02 hetao1733837 的刷题记录
c++·算法
骑着蜗牛撵大象32715 分钟前
Qt 事件机制详解:从 QEvent 派生类到事件过滤器的全景指南
前端·python
小虎牙^O^25 分钟前
模糊数学综合评价:从模糊数学到建模评价类模型
人工智能·算法
流形填表26 分钟前
题库迁移实战:Excel中间格式与列映射
python·excel
东方芷兰38 分钟前
Agent 技术摘要 06 —— Harness、原生视觉、Jev、mmproj、dsh
人工智能·笔记·python·ai·langchain·ai编程
随意起个昵称42 分钟前
【单调队列优化DP】U301134 绿色通道
算法·动态规划
qq_2518364571 小时前
理发管理系统 —— 会员模块
开发语言·前端·python·flask
郝学胜-神的一滴1 小时前
AI 编程智能体 03:拆解当下主流智能体能力
开发语言·c++·人工智能·python·程序人生·游戏