Hard data structure and algorithm practice puzzle.
An allocator keeps a list of free holes in address order. Given the holes' sizes and a list of requests, place each request in the first hole big enough to hold it, shrink that hole by the request, and return the index of the hole each request went into, or -1 where none fits. This is first fit, the simplest policy malloc can use, and the way a request fails while the total free space is still larger than it is the clearest demonstration of fragmentation there is.
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.
Browse all 546 puzzles