We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
An easy dynamic programming problem, graded against 7 test cases (4 of them hidden).
Overlapping subproblems solved once and reused - the pattern candidates fear most.
Reach for it when you see: "Number of ways", "minimum/maximum cost", or a recursion that recomputes the same state.
More Dynamic Programmingproblems →Let `dp[i]` be the cheapest way to *stand on* position `i` (where `i = n` is the top). You arrive either from `i-1` (paying `cost[i-1]`) or `i-2` (paying `cost[i-2]`), and both starting steps are free, so `dp[0] = dp[1] = 0`. Since the recurrence only references the previous two values, two rolling variables suffice.
The full reference solution in every supported language stays in the editor above - reveal it there once you have had a real attempt.
Read off this problem's own test suite, so these are the cases a submission actually has to survive.
These apply to the pattern as a whole, not just this problem.