Leetcode 1137:第 N 个泰波那契数(超详细的解法!!!)
发布日期:2021-06-29 16:06:09
浏览次数:2
分类:技术文章
本文共 1020 字,大约阅读时间需要 3 分钟。
泰波那契序列 T n T_n Tn定义如下:
$T_0 = 0, T_1 = 1, T_2 = 1, 且 在 ‘ n > = 0 ‘ 的 条 件 下 且在`n >= 0`的条件下 且在‘n>=0‘的条件下T_{n+3} = T_n + T_{n+1} + T_{n+2}$
给你整数 n
,请返回第n
个泰波那契数 T n T_n Tn的值。
示例 1:
输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4
示例 2:
输入:n = 25输出:1389537
提示:
0 <= n <= 37
- 答案保证是一个 32 位整数,即
answer <= 2^31 - 1
。
解题思路
计算第 N 个泰波那契数
非常简单,我这里使用python yield
实现。
def tri(x): n, a, b, c = 0, 0, 1, 1 while n < x: yield a + b + c a, b, c = b, c, a + b + c n += 1
因为n
最大是32
,所以我们可以先把所有的数给算出来,然后只要对输入的数在字典中查询即可。
class Solution: d = dict() def tribonacci(self, n: int) -> int: def tri(x): n, a, b, c = 0, 0, 1, 1 while n < x: yield a + b + c a, b, c = b, c, a + b + c n += 1 if n in self.d: return self.d[n] for i, v in enumerate(tri(35)): self.d[i + 3] = v self.d[0], self.d[1], self.d[2] = 0, 1, 1 return self.d[n]
我将该问题的其他语言版本添加到了我的
如有问题,希望大家指出!!!
转载地址:https://coordinate.blog.csdn.net/article/details/97623712 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年05月02日 15时06分15秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
面试心得与总结—BAT、网易、蘑菇街
2019-04-30
Java对象初始化顺序
2019-04-30
Java开发的几个注意点
2019-04-30
我的Java后端书架 (2016年暖冬4.0版)
2019-04-30
每个程序员都必读的10篇文章
2019-04-30
也谈IO模型
2019-04-30
谈谈互联网后端基础设施
2019-04-30
Mybatis的ResultMap的使用
2019-04-30
Java 异常处理的误区和经验总结
2019-04-30
Chrome控制台使用详解
2019-04-30
Chrome 控制台console的用法(学了之后对于调试js可是大大有用的哦)
2019-04-30
15 个必须知道的 Chrome 开发工具技巧
2019-04-30
推荐的四款产品原型设计工具
2019-04-30
Spring基础知识汇总 Java开发必看
2019-04-30
设计模式(一)工厂模式Factory(创建型)
2019-04-30