LeetCode Card 287 — Graph DFS / Assess
Pattern signal
This pattern usually appears when the prompt involves connected components, path existence, cycle detection, or exhaustive traversal. Number of Islands, Clone Graph, course dependency checks, and many recursive search problems use DFS.
What Assess means here
In BASIC, the Assess step is where you compare the viable data structures or traversals and decide what complexity target fits. For Graph DFS, that matters because the pattern only becomes useful once the candidate is explicit about what is being tracked, reduced, or preserved.
Interview move
A strong move is to compare plausible approaches before committing. In this pattern family, say out loud what representation makes the problem easier: the map entry, the pointer invariant, the recursion contract, the queue contents, or the DP state. That keeps the implementation attached to a reason.
Common miss
The miss is not handling visited state consistently, especially in cyclic graphs. BASIC reduces that risk because the stage sequence forces you to earn the implementation instead of jumping straight into it.
BASIC prompt
“Given that this looks like Graph DFS, what is the simplest way to compare the viable data structures or traversals and decide what complexity target fits?”