今天剑指offer里面的一道题:输出斐波拉契数列的第n项(n<39)
以下有两种思路:
1.采用递归方式实现,缺点:时间复杂度高,运行消耗内存,如果这里的n是一个无穷大的数那么运算时间非常长,代码如下:
public int Fibonacci(int n) {
//用递归方式实现,非常的复杂
if(n < 0 || n >39){
return -1;
}else if( n == 0){
return 0;
}else if( n < 2){
return 1;
}else{
//递归实现
return(Fibonacci(n-2) + Fibonacci(n-1));
}
}
思路二是采用递推算法: