python-leetcode-第 N 个泰波那契数

devtools/2025/3/1 19:16:40/

1137. 第 N 个泰波那契数 - 力扣(LeetCode)

解法 1:递归(O(3^n),不推荐)

递归直接按照数学定义实现,但时间复杂度高,不适合大 n。

class Solution:def tribonacci(self, n: int) -> int:if n == 0:return 0elif n == 1 or n == 2:return 1return self.tribonacci(n - 1) + self.tribonacci(n - 2) + self.tribonacci(n - 3)

缺点:大量重复计算,时间复杂度 O(3^n),n 较大时会超时。

解法 2:动态规划(O(n),空间 O(n))

使用数组存储计算结果,按顺序计算。

class Solution:def tribonacci(self, n: int) -> int:if n == 0:return 0if n == 1 or n == 2:return 1dp = [0] * (n + 1)dp[1] = dp[2] = 1for i in range(3, n + 1):dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]return dp[n]

优点:时间复杂度 O(n),比递归更快。
⚠️ 缺点:空间复杂度 O(n)

解法 3:迭代(O(n),空间 O(1))

只存储 前三个变量,减少空间占用。

class Solution:def tribonacci(self, n: int) -> int:if n == 0:return 0if n == 1 or n == 2:return 1a, b, c = 0, 1, 1for _ in range(n - 2):a, b, c = b, c, a + b + creturn c

优点:时间复杂度 O(n),空间复杂度 O(1),适合大 n。


http://www.ppmy.cn/devtools/163703.html

相关文章

Linux:ELF文件-静动态库原理

✨✨所属专栏:Linux✨✨ ✨✨作者主页:嶔某✨✨ ELF文件 什么是编译?编译就是将程序源代码编译成能让CPU直接执行的机器代码 如果我们要编译一个 .c文件,使用gcc -c将.c文件编译为二进制文件.o ,如果一个项目有多个.…

Grok3使用体验与模型版本对比分析

文章目录 Grok的功能DeepSearch思考功能绘画功能Grok 3的独特功能 Grok 3的版本和特点与其他AI模型的比较 最新新闻:Grok3被誉为“地球上最聪明的AI” 最近,xAI公司正式发布了Grok3,并宣称其在多项基准测试中展现了惊艳的表现。据官方消息&am…

飞鱼科技游戏策划岗内推

协助策划完成相关工作,包括但不仅限于策划配置,资料搜集,游戏体验; 游戏策划相关作品;游戏大赛经历;游戏demo制作经历;游戏公司策划岗位实习经历优先 内推码 DSZP7YFU

【面试】Java 之 String 系列 -- String 为什么不可变?

在 Java 编程中,String 类是一个使用频率极高的类。而 String 对象具有不可变的特性,这一特性在 Java 设计中有着重要的意义。本文将深入探讨 String 不可变的含义、原因以及带来的好处。 一、String 不可变的含义 1. 概念解释 所谓 String 不可变&am…

使用torch.compile进行CPU优化

在PyTorch中,使用torch.compile可以自动地将模型转换成优化的执行代码,这对于提升模型在CPU上的运行效率尤其有用。torch.compile是基于TorchDynamo实现的,它可以将Python代码转换为高效的TorchScript代码。这对于那些在CPU上运行的大型模型尤…

AI人工智能机器学习之聚类分析

1、概要 本篇学习AI人工智能机器学习之聚类分析,以KMeans、AgglomerativeClustering、DBSCAN为例,从代码层面讲述机器学习中的聚类分析。 2、聚类分析 - 简介 聚类分析是一种无监督学习的方法,用于将数据集中的样本划分为不同的组&#xff…

DeepSeek 提示词:常见指令类型

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

智能家居的二次进化:当三维设计遇见场景芯片

在2025年第二届长江经济带水域经济博览会上,广州凡拓数字创意科技股份有限公司(简称“凡拓数创”)凭借其“AI模型数字孪生”技术组合惊艳亮相,展示了智慧水厂数字孪生运营管理解决方案的硬核实力。而这家深耕数字孪生与AI技术20余…