LeetCode题解(1137):计算斐波那契数列(Python)
发布日期:2021-06-29 19:55:28 浏览次数:4 分类:技术文章

本文共 614 字,大约阅读时间需要 2 分钟。

题目:(简单)

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N ) O(N) O(N) O ( N ) O(N) O(N) 44ms (37.23%)
Ans 2 (Python) O ( N ) O(N) O(N) O ( 1 ) O(1) O(1) 36ms (85.09%)
Ans 3 (Python)

LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。

解法一(迭代法):

def tribonacci(self, n: int) -> int:    ans = [0, 1, 1]    for i in range(3, n + 1):        ans.append(ans[-3] + ans[-2] + ans[-1])    return ans[n]

解法二(优化存储方法):

def tribonacci(self, n: int) -> int:    if n == 0:        return 0    elif n == 1:        return 1    x1 = 0    x2 = 1    x3 = 1    for i in range(3, n + 1):        x1, x2, x3 = x2, x3, x1 + x2 + x3    return x3

转载地址:https://dataartist.blog.csdn.net/article/details/107107192 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(1154):判断日期在一年中的第几天(Python)
下一篇:LeetCode题解(1128):等价多米诺骨牌对的数量(Python)

发表评论

最新留言

很好
[***.229.124.182]2024年04月08日 19时30分55秒