Dynamic Programming
Subproblem
Let be the number of ways to climb
stairs. Then:
Time: , space:
.
class Solution:
def climbStairs(self, n: int) -> int:
if n < 3:
return n
prev, curr = 1, 2
for _ in range(n-2):
prev, curr = curr, prev+curr
return curr
Leave a comment