输出Fibonacci的第n项
public int fibonacci(int n)
{
if(n<0) return 0;
if(n<=2) return 1;
else{
return fibonacci(n-1)+fibonacci(n-2);
}
但是这种递归方法的时间复杂度太高
public int fibonacci_01(int n)
{
if(n<0) return 0;
else if((n<=2) return 1;
else
{
int a = 1,b = 1,c = 0;
for(int i = 0;i<=n;i++)
{
c = a + b;
a = b;
b = c;
}
return c;
}
}
这样改变之后时间复杂度就变成了O(n)了。
1620

被折叠的 条评论
为什么被折叠?



