DP #36. Staircase Problem - mbhushan/dynpro GitHub Wiki

(36). Staircase Problem - Fibonacci Series:

Given a staircase and give you can take 1 or 2 steps at a time, 
how many ways you can reach nth step.
Approach (recursive):

	public int staircase(int n) {
		if (n == 0 || n == 1) {
			return n;
		}

		int count = 0;
		count += staircase(n-1) + staircase(n-2);
		return count;
		
	}
Approach (DP):

public int staircase(int n) {
	int a = 0;
        int b = 1;

       for (int i=2; i<= n; i++) {
            int c = a + b;
            a = b;
            b = c;		
	}
       return b;
}

* Time Complexity: O(n)
* Space Complexity: O(1)