Hard data structure and algorithm practice puzzle.
Given the number of routers, a list of two-way links as [a, b, cost], and two routers, return the cheapest total cost between them, or -1 if you can't get there. Use Dijkstra's algorithm: each round, finish the cheapest router you haven't finished, and update its neighbors. This is what the OSPF routing protocol runs.
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