LeetCode - Climbing Stairs Java - The Coding Shala

Home >> LeetCode >> Climbing Stairs

LeetCode Climbing Stairs Problem

In this post, we will see how to solve the leetcode climbing stairs problem in Java.

You are climbing a stair-case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? 
Note: Given n will be a positive integer.

Example 1:

Input: 2

Output: 2

Explanation: There are two ways to climb to the top.

1. 1 step + 1 step

2. 2 steps


Example 2:
Input: 3
Output: 3
Explanation: There are three ways to climb to the top.
1. 1 step + 1 step + 1 step
2. 1 step + 2 steps
3. 2 steps + 1 step
Practice on Leetcode Click Here

Climbing Stairs Java Solution

Approach 1:

Using dynamic programming.

Java Program: 

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

Approach 2:
Using Recursion.
Java Program: 

class Solution {
    HashMap<Integer, Integer> map = new HashMap<>();
    public int climbStairs(int n) {
        if(map.containsKey(n)){
            return map.get(n);
        }
        
        int result;
        if(n<=2) result = n;
        else{
            result = climbStairs(n-1)+climbStairs(n-2);
        }
        map.put(n,result);
        return result;
    }
}


Other Posts You May Like
Please leave a comment below if you like this post or found some error, it will help me to improve my content.

Comments

Popular Posts from this Blog

Time Complexity, Space Complexity, Asymptotic Notations - The Coding Shala

Java Program to Reverse a String using Stack - The Coding Shala

Java Method Overloading - The Coding Shala

New Year Chaos Solution - The Coding Shala

Number of Steps to Reduce a Number to Zero LeetCode Solution - The Coding Shala