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 小时前
Day52:2026年3月20日打卡
算法
Zhansiqi5 小时前
day42部分题目
python
小王不爱笑1325 小时前
IO 模型
开发语言·python
kishu_iOS&AI6 小时前
Conda 简要说明与常用指令
python·安全·conda
小陈工6 小时前
FastAPI性能优化实战:从每秒100请求到1000的踩坑记录
python·性能优化·django·flask·numpy·pandas·fastapi
知我Deja_Vu6 小时前
【避坑指南】ConcurrentHashMap 并发计数优化实战
java·开发语言·python
njidf6 小时前
用Python制作一个文字冒险游戏
jvm·数据库·python
2401_831824966 小时前
基于C++的区块链实现
开发语言·c++·算法
呆呆小孩6 小时前
Anaconda 被误删抢救手册:从绝望到重生
python·conda
liliangcsdn6 小时前
LLM复杂数值的提取计算场景示例
人工智能·python