题目来源于力扣(LeetCode)
一、题目
题目相关标签:递归
提示:
0 <= n <= 37
- 答案保证是一个 32 位整数,即
answer <= 2^31 - 1
。
二、解题思路
-
因 0 <= n <= 37,则创建长度为 38 的 int 数组 nums
-
据题意,将 nums[0] = 0,nums[1] = 1,nums[2] = 1
-
从 3 开始循环至 n(包含 n)
-
计算出 nums[i] 的结果,结果为索引 i 的前三项之和
-
最终结果为 nums[n]
三、代码实现
public static int tribonacci(int n) {
int[] nums = new int[38];
nums[0] = 0;
nums[1] = 1;
nums[2] = 1;
for (int i = 3; i <= n; i++) {
nums[i] = nums[i - 1] + nums[i - 2] + nums[i - 3];
}
return nums[n];
}
四、执行用时
五、部分测试用例
public static void main(String[] args) {
int n = 4; // output: 4
// int n = 25; // output: 1389537
int result = tribonacci(n);
System.out.println(result);
}