Medium data structure and algorithm practice puzzle.
Given objects as an adjacency list of references and a list of root objects, return how many objects can't be reached from any root. Start from the roots and mark everything you can reach. Whatever's left unmarked is garbage. This is mark and sweep, and unlike reference counting, it also cleans up objects that only point at each other.
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