07. Fibonacci sequence

topic

Everyone knows the Fibonacci sequence, and now requires an integer n, please output the nth item of the Fibonacci sequence (starting from 0, the 0th item is 0), n <= 39.

Recursive implementation

public class Solution {
    public int Fibonacci(int n) {
        if( n <= 1){
            return n;
        }
        return Fibonacci(n-1) + Fibonacci(n-2);
    }
}

Optimize recursion

public class Solution {
    public int Fibonacci(int n) {
        int ans[] = new int[40];
        ans[0] = 0;
        ans[1] = 1;
        for(int i=2;i<=n;i++){
            ans[i] = ans[i-1] + ans[i-2];
        }
        return ans[n];
    }
}

Optimize storage

public class Solution {
    public int Fibonacci(int n) {
        if(n < 2){
            return n;
        }
        int one = 0;
        int two = 1;
        int sum = 0;
        for(int i = 2; i <= n; i++ ){
            sum = one + two;
            one = two;
            two = sum;
        }
        return sum;
    }
}
Published 12 original articles · praised 0 · visits 89

Guess you like

Origin blog.csdn.net/charlotte_tsui/article/details/105340387