第一题:
斐波那契数 (通常用 F(n)
表示)形成的序列称为 斐波那契数列 。该数列由 0
和 1
开始,后面的每一项数字都是前面两项数字的和。也就是:
核心思想: F(n)=F(n−1)+F(n−2)
class Solution {
public int fib(int n) {
int f0 = 0;
int f1 = 1;
int tmp;
if(n<=1){
return n;
}
while(n>1){
tmp = f1;
f1 +=f0;
f0 = tmp;
n--;
}
return f1;
}
}
第二题:
泰波那契序列 Tn 定义如下:
T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2
给你整数 n,请返回第 n 个泰波那契数 Tn 的值。
class Solution {
public int tribonacci(int n) {
int t0 = 0;
int t1 = 1;
int t2 = 1;
int tmp = 0;
if(n<2){
return n;
}
if(n==2){
return 1;
}
while(n>2){
tmp = t2;
t2+=t0+t1;
t0=t1;
t1=tmp;
n--;
}
return t2;
}
}