Skip to main content
+1+2
easyBlind 75

Climbing Stairs

Count the ways to reach the top when you can take 1 or 2 steps at a time. It looks like a brute-force recursion problem, but it's actually your first real dynamic programming question. Once you see the Fibonacci pattern hiding inside, a whole category of DP problems clicks into place.

Dynamic ProgrammingMath & Geometry

Learn this pattern

Dynamic Programming Patterns

Dynamic programming caches overlapping subproblem results so each is solved only once. Define your state in one sentence, write the transition, nail the base cases, and brute-force transforms into polynomial time.

Coco
Fin

Meet your coaches

Talk through the problem while you code. Signed-in reps become prep memory for the next session.

Chat with Fin or Coco right now on mobile.

Start talking through the problem here. Switch to desktop when you're ready to code and run tests.

Start coaching session
1Count Ways to Climbeasy
2Part 2
3Part 3

Start Part 1 to unlock your next challenge

Based onLeetCode

Desktop required

Sorry - mobile cannot run the editor and tests yet. Use the next step below or email yourself a link to continue on desktop.

Read the pattern guide

Dynamic Programming Patterns gives you a useful next rep while you are still on your phone.