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
- LeetCode - Jewels and Stones
- Check if Given String is Palindrome or not
- Maximum Absolute Difference
- Longest Common Prefix
- Noble Integer
Comments
Post a Comment