Medium data structure and algorithm practice puzzle.
Creating a fresh bullet every shot would make the garbage collector stutter, so games keep an object pool of reusable slots. The free slots are chained into a free list stored inside the pool itself: next[i] is the free slot after i, and head is the first. Given the pool size and commands, "alloc" or "free i", return what each alloc hands out: the head slot, or -1 if the pool is full. Freeing a slot pushes it onto the front of the list, exactly like a linked list.
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 Entity LRU Service, a pipeline you can run and download. See every Software Engineer project.
Browse all 576 puzzles