当前位置:   article > 正文

LeetCode 1137. 第 N 个泰波那契数 C/C++/Python_有一个泰波那契序列 泰波那契序列 tn 定义如下: t0 = 0, t1 = 1, t2 = 1,

有一个泰波那契序列 泰波那契序列 tn 定义如下: t0 = 0, t1 = 1, t2 = 1, 且在 n

在这里插入图片描述

欢迎加入【Linux C/C++/Python社区】一起探讨和分享Linux C/C++/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。


1137. 第 N 个泰波那契数


题目描述

泰波那契序列 Tn 定义如下:

T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2

给你整数 n,请返回第 n 个泰波那契数 Tn 的值。

示例 1:

输入:n = 4
输出:4
解释:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
  • 1
  • 2
  • 3
  • 4
  • 5

示例 2:

输入:n = 25
输出:1389537
  • 1
  • 2

提示:

  • 0 <= n <= 37
  • 答案保证是一个 32 位整数,即 answer <= 2^31 - 1

C语言版

int tribonacci(int n) {
	int i = 0;
	int f[38] = { 0 };
	f[0] = 0;
	f[1] = 1;
	f[2] = 1;
	if (n > 2)
	{
		for (i = 3; i < n + 1; i++)
		{
			f[i] = f[i - 3] + f[i - 2] + f[i - 1];
		}
	}
	return f[n];
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

C++版

class Solution {
public:
	int tribonacci(int n) {
		vector<int> tri;
		tri.push_back(0);
		tri.push_back(1);
		tri.push_back(1);
		if (n > 2)
		{
			for (int i = 3; i <= n; i++)
			{
				tri.push_back(tri[i - 1] + tri[i - 2] + tri[i - 3]);
			}
		}
		return tri[n];
	}
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

Python版

class Solution:
    def tribonacci(self, n: int) -> int:
        f = []
        f.append(0)
        f.append(1)
        f.append(1)
        if n > 2:
            for i in range(3, n + 1):
                f.append(f[i - 3] + f[i - 2] + f[i - 1])
        return f[n]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
在这里插入图片描述


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/948604
推荐阅读
相关标签
  

闽ICP备14008679号