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。

相关推荐
艾上编程1 分钟前
《Python实战小课:爬虫工具场景——开启数据抓取之旅》导读
开发语言·爬虫·python
用户7227868123445 分钟前
python3.13 3.14 新特性 好好好
python
星辞树9 分钟前
从 In-context Learning 到 RLHF:大语言模型的范式跃迁
算法
SunnyDays101122 分钟前
使用 Python 高效删除 Excel 重复数据(Excel 去重方法详解)
python·删除excel重复行·删除excel重复数据·excel去重·删除excel重复值
再__努力1点24 分钟前
【68】颜色直方图详解与Python实现
开发语言·图像处理·人工智能·python·算法·计算机视觉
Brian Xia26 分钟前
Nano-vLLM 源码分析(一) - 课程大纲
python·ai
mingchen_peng31 分钟前
第一章 初识智能体
算法
猪在黑魔纹里33 分钟前
解决VSCode无法高亮、解析numpy中的部分接口(如pi、deg2rad)
ide·vscode·python·numpy
百锦再33 分钟前
国产数据库的平替亮点——关系型数据库架构适配
android·java·前端·数据库·sql·算法·数据库架构
爱笑的眼睛1142 分钟前
文本分类的范式演进:从统计概率到语言模型提示工程
java·人工智能·python·ai