Learn
Practice
Interview
Resources
Newsletter
F
Toggle theme
0
F
0
Toggle menu
Animations
← Back to All Animations
Climbing Stairs
Bookmark
Recursion
Memoization
Iterative
Input
n = 2
n = 3
n = 5
n = 8
n = 10
Custom
n
=
5
1
2
3
4
5
?
?
?
?
?
ways(i) = ways(i-1) + ways(i-2)
calls: 0
1
2
3
4
5
?
?
?
?
?
ways(i) = ways(i-1) + ways(i-2)
calls: 0
1
2
3
4
5
+1
+2
?
?
?
?
?
i
ways(4)
=
ways(3)
+
ways(2)
=
?
+
?
=
?
calls: 2
1
2
3
4
5
+1
+2
?
?
?
?
?
i
ways(3)
=
ways(2)
+
ways(1)
=
?
+
?
=
?
calls: 3
1
2
3
4
5
1
2
?
?
?
i
ways(1)
=
1
base case
calls: 5
1
2
3
4
5
+1
+2
1
2
3
?
?
i
ways(3)
=
ways(2)
+
ways(1)
=
2
+
1
=
3
calls: 5
1
2
3
4
5
+1
+2
1
2
3
5
?
i
ways(4)
=
ways(3)
+
ways(2)
=
3
+
2
=
5
calls: 6
1
2
3
4
5
+1
+2
1
2
3
5
?
i
ways(3)
=
ways(2)
+
ways(1)
=
2
+
1
=
?
calls: 7
1
2
3
4
5
1
2
3
5
?
i
ways(1)
=
1
base case
calls: 9
1
2
3
4
5
+1
+2
1
2
3
5
?
i
ways(3)
=
ways(2)
+
ways(1)
=
2
+
1
=
3
calls: 9
1
2
3
4
5
1
2
3
5
8
calls: 9
8 distinct ways
to climb 4 stairs
algo
master
.
io
Step:
Start: count the distinct ways to climb 5 stairs
0 / 14
Input
n = 2
n = 3
n = 5
n = 8
n = 10
Custom
n
=
5
0 / 14
algo
master
.
io
Step:
Start: count the distinct ways to climb 5 stairs