LeetCode 1137. 第 N 个泰波那契数 C/C++/Python

在这里插入图片描述

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


1137. 第 N 个泰波那契数

      • C语言版
      • C++版
      • Python版


题目描述

泰波那契序列 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

示例 2:

输入:n = 25
输出:1389537

提示:

  • 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];
}

C++版

class Solution {
public:
	int tribonacci(int n) {
		vector 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];
	}
};

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]

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


你可能感兴趣的:(leetcode,c++,算法,C,Python)