题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
时间限制:1秒空间限制:32768K
思路:
方法一:
第一次我是看n<= 39,所以考虑使用递归,应该不会栈溢出,代码如下:
if(n == 0)
return 0;
if(n < 3 && n > 0)
return 1;
else
return Fibonacci(n - 1) + Fibonacci(n - 2);
时间:777ms
方法二:迭代:
public static int Fibonacci(int n) {
if(n <= 0)
return 0;
if(n == 1 || n == 2)
return 1;
int fn1 = 1;
int fn2 = 1;
for(int i = 0; i < n - 2; i++){
int temp = fn2;
fn2 += fn1;
fn1 = temp;
}
return fn2;
}
时间:11ms