2、斐波那契数列
方法1: 使用迭代for循环,效率高
/**
* 时间上可以不超时
* int f[]={0,1,1,2,3,5,8,13,21,34...]
*/
public static int fib2(int n) {
if (n==0 || n==1){
return n;
} else {
int val1=0;
int val2 = 1;
for (int i=1;i<n;i++){ //注意这里的开头结尾
int temp = val1; //取一个临时变量
val1 = val2;
val2 = (temp+val1)%1000000007; //记得模
}
return val2;
}
}
方法2:使用递归:效率低
//时间复杂度超时
public static int fib(int n) {
if (n==0){
return 0;
}else if (n==1){
return 1;
}else {
return (fib(n-1)+fib(n-2))%1000000007;
}
}