Leedcode-斐波那契数
自己写的,递归
class Solution: def fib(self, n: int) -> int: # 如果 n 是 0,则返回 0,因为这是 Fibonacci 数列的定义 if n == 0: return 0 # 如果 n 是 1,则返回 1,因为这是 Fibonacci 数列的定义 elif n == 1: return 1 # 对于其他情况,递归地调用 fib 函数,计算 Fibonacci 数列的前两个数并相加 else: return self.fib(n - 2) + self.fib(n - 1)
gpt优化,采用记忆优化:
class Solution: def __init__(self): # 初始化一个字典来存储已经计算过的 Fibonacci 数列值 self.memo = {} def fib(self, n: int) -> int: # 如果 n 已经在 memo 中,直接返回其值 if n in self.memo: return self.memo[n] # 基本情况:如果 n 是 0 或 1,直接返回 n if n == 0: return 0 elif n == 1: return 1 # 递归计算 Fibonacci 数列值,并存储在 memo 中 self.memo[n] = self.fib(n - 2) + self.fib(n - 1) return self.memo[n]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)