题目来源:https://leetcode-cn.com/problems/n-th-tribonacci-number/
大致题意:
求出第泰波那契数,f(n) = f(n-1) + f(n-2) + f(n-3),f(0) = 0, f(1) = f(2) = 1;
思路
滑动数组
代码:
public int tribonacci(int n) {
if (n == 1 || n == 2)
return 1;
else if (n == 0)
return 0;
// 之所以这样初始化是为了方便循环体
int x = 0;
int y = 0;
int z = 1;
int sum = 1;
for (int i = 3; i <= n; i++) {
x = y;
y = z;
z = sum;
sum = x + y +z;
}
return sum;
}
矩阵幂
由题意得(截图来自官方题解)

因而可以通过求矩阵幂的方法快速求出。
博客围绕LeetCode上求第泰波那契数的题目展开,给出大致题意,即f(n) = f(n - 1) + f(n - 2) + f(n - 3),f(0) = 0,f(1) = f(2) = 1。并介绍了两种求解思路,分别是滑动数组和矩阵幂,还提及矩阵幂可参考官方题解。
353

被折叠的 条评论
为什么被折叠?



