java递归例子,实现斐波那契数列

斐波那契数列:0,1,1,2,3,5,8,13,21…第三个数始终为前两个数相加的和

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);
    }
}

用时:
1123ms

public class Solution {
    public int Fibonacci(int n) {
        int[] res = {0, 1};
        if(n < 2) {
            return res[n];
        }
        int first = 0;
        int second = 1;
        int fibn = 0;
        for(int i = 2; i <= n; i++) {
            fibn = first + second;
            first = second;
            second = fibn;
        }
        return fibn;
    }
}

用时:13ms

递归虽好,可运行效率较底!!!

你可能感兴趣的:(Java算法)