Hard data structure and algorithm practice puzzle.
Given objects as an adjacency list of references and a list of roots, return how many objects are still allocated under reference counting. Count every reference to each object, including from roots. Free any object with a count of 0, and lower the counts of everything it pointed to, which can free those too. Objects stuck in a cycle never hit 0, so they leak.
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