In this post, we are going to solve the Climbing Stairs Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

Problem
You are climbing a staircase. It takes n
steps to reach the top.
Each time you can either climb 1
or 2
steps. In how many distinct ways can you climb to the top?
Example 1:
Input: n = 2 Output: 2 Explanation: There are two ways to climb to the top. 1. 1 step + 1 step 2. 2 steps
Example 2:
Input: n = 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
Constraints:
1 <= n <= 45
Now, let’s see the leetcode solution of Climbing Stairs Leetcode Solution.
Climbing Stairs Leetcode Solution in Python
class Solution: def climbStairs(self, n: int) -> int: # dp[i] := # Of distinct ways to climb to i-th stair dp = [1, 1] + [0] * (n - 1) for i in range(2, n + 1): dp[i] = dp[i - 1] + dp[i - 2] return dp[n]
Climbing Stairs Leetcode Solution in CPP
class Solution { public: int climbStairs(int n) { // dp[i] := # of distinct ways to climb to i-th stair vector<int> dp(n + 1); dp[0] = 1; dp[1] = 1; for (int i = 2; i <= n; ++i) dp[i] = dp[i - 1] + dp[i - 2]; return dp[n]; } };
Climbing Stairs Leetcode Solution in Java
class Solution { public int climbStairs(int n) { // dp[i] := # of distinct ways to climb to i-th stair int[] dp = new int[n + 1]; dp[0] = 1; dp[1] = 1; for (int i = 2; i <= n; ++i) dp[i] = dp[i - 1] + dp[i - 2]; return dp[n]; } }
Note: This problem Climbing Stairs is generated by Leetcode but the solution is provided by Chase2learn This tutorial is only for Educational and Learning purposes.