Hard data structure and algorithm practice puzzle.
Given how many units of a resource are free, what each process still needs, and what each one already holds, return true if every process can finish in some order. Repeatedly find a process whose need fits in what's free, let it finish, and take back everything it held. If you ever get stuck with no one able to run, return false. That's Dijkstra's Banker's algorithm.
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