diff --git a/Miscellaneous Algorithms/Climbing stairs/README.md b/Miscellaneous Algorithms/Climbing stairs/README.md new file mode 100644 index 00000000..4582dfa5 --- /dev/null +++ b/Miscellaneous Algorithms/Climbing stairs/README.md @@ -0,0 +1,32 @@ +# CLIMBING STAIRS : +## How Does It Work? +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: +## 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 + +# Complexity : + +Time complexity: O(n) +n is number of steps to reach the top. + +Space complexity: O(n) +For dp list diff --git a/Miscellaneous Algorithms/Climbing stairs/programme.c b/Miscellaneous Algorithms/Climbing stairs/programme.c new file mode 100644 index 00000000..48144c56 --- /dev/null +++ b/Miscellaneous Algorithms/Climbing stairs/programme.c @@ -0,0 +1,12 @@ +int climbStairs(int n) { + if(n<1){ + return 0; + } + int dp[100]; + dp[0] =1; + dp[1] = 2; + for(int i= 2; i