当前位置: 首页 > article >正文

leetcode_动态规划/递归 509. 斐波那契数

509. 斐波那契数

  • 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
    • F(0) = 0,F(1) = 1
    • F(n) = F(n - 1) + F(n - 2),其中 n > 1
  • 给定 n ,请计算 F(n) 。
class Solution(object):
    def fib(self, n):
        """
        :type n: int
        :rtype: int
        """
        if n < 2:
            return n
        
        f = [0] * (n + 1)
        f[0] = 0
        f[1] = 1

        for n in range(2, n+1):
            f[n] = f[n-1] + f[n-2]

        return f[n]
  • 时间复杂度:O(n)
  • 空间复杂度:O(n)

空间优化

class Solution(object):
    def fib(self, n):
        """
        :type n: int
        :rtype: int
        """
        if n < 2:
            return n
        
        prev, curr = 0, 1  # 初始化前两个斐波那契数
        for _ in range(2, n + 1):
            prev, curr = curr, prev + curr  # 更新前两个值
        
        return curr
        
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

http://www.kler.cn/a/562304.html

相关文章:

  • 被裁20240927 --- WSL-Ubuntu20.04安装cuda、cuDNN、tensorRT
  • 【Python修仙编程】(二) Python3灵源初探(2)
  • 【Python爬虫(74)】用Python爬虫解锁法律条文数据的宝库
  • Oracle创建视图提示:ORA-01031 权限不足
  • 基于无人机遥感的烟株提取和计数研究
  • 11.Docker 之分布式仓库 Harbor
  • 温湿度监控设备融入智慧物联网
  • element ui的time时间和table表格
  • 朝天椒USB服务器在汽车生产企业中的应用分析
  • DeepSeek写扫雷手机小游戏
  • WiFi相关功能使用教程(wpa_supplicant及wpa_cli)
  • 使用AWS服务Amazon Bedrock构建大模型应用
  • AI agent(以AutoGPT为例)和AI Workflow 区别
  • DeepSeek 与其他大语言模型相比,优势和劣势
  • Ae:导入 3D 模型
  • 在Linux上创建一个Docker容器并在其中执行Python脚本
  • Windows程序设计28:MFC模态与非模态对话框
  • Jenkins 构建 Unity 打包 .apk 同时生成 .aab
  • 爬虫解析库:pyquery的详细使用
  • 数据安全_笔记系列03:数据脱敏(Data Masking)深度解析