Fibonacci Series
Algorithms

5 minutes


go back go back go back home home

Basic Fibonacci Code

Divide and Conquer:

class Solution {
    public int climbStairs(int n) {
        int combination = 0;
        if(n == 0 || n == 1){return 1;}
        return climbStairs(n-1) + climbStairs(n-2);
    }
}

Iterative:

class Solution {
    public int climbStairs(int n) {
        int combination = 0;
        int prev= 1, curr =1;
        for(int i=2;i<=n;i++){
            int temp = curr;
            curr = prev + curr;
            prev = temp;
        }
        return curr;
    }
}

Dynamic Programming:

class Solution {
    public int climbStairs(int n) {
        int[] values = new int[46];
        values[0] = values[1] = 1;
        for(int i=2;i<= n;i++){
            values[i] = values[i-1] + values[i-2];
        }
        return values[n];
    }
}