斐波那契数列:
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
方法一:递归
//递归,时间复杂度达到1000ms了,时间比较长,可以考虑使用循环
public int Fibonacci(int n){
if(n==0){
return 0;
}
if(n==1){
return 1;
}else{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
方法二:循环
//使用循环,循环使用的时间在14ms,比递归使用的时间少很多
public int Fibonacci(int n){
if(n<=1){
return n;
}else{
int prePreNum=0;
int preNum = 1;
int result = 0;
for(int i = 2;i<=n;i++){
result = prePreNum+ preNum;
prePreNum = preNum;
preNum = result;
}
return result;
}
}
方法三:动态规划,今天状态一般,先整理项目代码,之后学习动态规划,再来整理方法三。
to be continued.....(未完待续。。。)