斐波那契数列

题目描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39

方法一:递归(耗时最长)

public class Solution {
    public int Fibonacci(int n) {

        if(n==0){
            return 0;
        }
        if(n==1){
            return 1;
        }
        return Fibonacci(n-1)+Fibonacci(n-2);
    }
}

方法二:借助数组

public class Solution {
    public int Fibonacci(int n) {

        if(n==0){
            return 0;
        }
        if(n==1){
            return 1;
        }

        int[] arr=new int[n+1];
        arr[0]=0;
        arr[1]=1;
        for(int i=2;i<=n;i++){
            arr[i]=arr[i-1]+arr[i-2];
        }
        return arr[n];

    }
}

方法三:借助第三方变量(用时最短)

public class Solution {
    public int Fibonacci(int n) {

        if(n==0){
            return 0;
        }
        if(n==1){
            return 1;
        }
        int a=0;
        int b=1;
        int c=0;
        for(int i=2;i<=n;i++){
            c=a+b;
            a=b;
            b=c;
        }
        return c;
    }
}
#21天打卡剑指offer##Java#
全部评论

相关推荐

面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
2 2 评论
分享
牛客网
牛客企业服务