There are n rooms labeled 0 to n - 1. You start in room 0. Each room i contains a list of keys rooms[i], each opening another room.
Return true if you can visit all the rooms, otherwise false.
We use analytics and advertising cookies to understand how the site is used and whether our ads on Facebook and Instagram work. They are set only if you accept. See our Privacy Policy for details.
There are n rooms labeled 0 to n - 1. You start in room 0. Each room i contains a list of keys rooms[i], each opening another room.
Return true if you can visit all the rooms, otherwise false.
A medium graphs problem, graded against 7 test cases (5 of them hidden).
Nodes and edges - traversal, connectivity, cycles, and shortest paths.
Reach for it when you see: Explicit edges, a grid treated as a graph, or dependencies between items.
More Graphs problems →Graph traversal. Treat keys as directed edges and DFS/BFS from room 0, marking each newly entered room visited. You can visit all rooms iff the count of visited rooms equals `n`.
Time: O(n + total keys). Space: O(n).
The full reference solution in every supported language stays in the editor above - reveal it there once you have had a real attempt.
Read off this problem's own test suite, so these are the cases a submission actually has to survive.
These apply to the pattern as a whole, not just this problem.