Hard data structure and algorithm practice puzzle.
Given an array of 0s, 1s, and 2s, sort it in ONE pass. Use three pointers: low, high, and a scanner. If the scanner sees a 0, swap it to low and move both forward. If it sees a 2, swap it to high and move high back, but check the swapped-in value again. If it's a 1, just move on. This is Dijkstra's Dutch national flag problem.
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 Match Change Feed, a pipeline you can run and download. See every Software Engineer project.
Browse all 576 puzzles