您的位置:首页 > Web前端

剑指offer(八)之斐波那契数列

2016-04-17 10:27 507 查看
题目描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

思路分析:

1.如果直接用递归:

public class Solution {

public int Fibonacci(int n) {

if(n<=0){

return 0;

}else if(n==1||n==2){

return 1;

}else{

int x=Fibonacci(n-1)+Fibonacci(n-2);

return x;

}

}

}

发现有时难以再规定的时间内算出,因为递归不能很好地利用重复元素,数据大的时候,用时就多了。

2.用迭代方法

public class Solution {

public int Fibonacci(int n) {

int num1=0,num2=1;

int result=0;

if(n<=0){

return 0;

}else if(n==1){

return 1;

}else{

for(int i=2;i<=n;i++){

result=num1+num2;

num1=num2;

num2=result;

}

}

return result;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: