Hard data structure and algorithm practice puzzle.
Given a list of bar heights, return how much rainwater gets trapped between them. The water above any bar is the shorter of the tallest bar to its left and the tallest bar to its right, minus the bar's own height. Put a pointer at each end and always move the side with the shorter bar, since the taller bar on the other side means that side's water level is already settled.
Solve it three ways: snap the jigsaw pieces together, fill in the blanks, or type it from scratch against the tests. This one is free.
Every line of the solution comes with a note explaining why it is there, and a step by step replay shows the code running. At level 3, where you type it yourself, you can ask for an AI mock interview on this problem that ends with a hiring manager's scorecard.
Then grow it into a real project with the Software Engineer button: this puzzle becomes the Track Reconciler, a pipeline you can run and download. See every Software Engineer project.
Browse all 576 puzzles