Skip to main content

Graphs Pattern: LeetCode Guide & Problems

DFS and BFS on adjacency lists for connectivity, cycles, and path problems.

✓ Pattern Solutions & Guides Practice Mode Enabled
10 Problem 0 Easy 10 Medium 0 Hard

Problems (10)

Problem Solution Link
Clone Graph
#Graph #DFS #BFS
Solution
Pacific Atlantic Water Flow
#Graph #DFS #BFS
Solution
Number of Connected Components in Undirected Graph ★
#Graph #DFS #Union Find
Solution
Surrounded Regions
#Array #DFS #BFS
Solution
Minimum Height Trees
#DFS #BFS #Graph
Solution
Network Delay Time
#DFS #BFS #Graph
Solution
Find Eventual Safe States
#DFS #BFS #Graph
Solution
All Paths From Source to Target
#Backtracking #DFS #BFS
Solution
Cheapest Flights Within K Stops
#Dynamic Programming #DFS #BFS
Solution
Graph Valid Tree ★
#Depth-First Search #Breadth-First Search #Union Find
Solution
🧠

Mastering the Graphs Pattern for Coding Interviews

1. Mental Model & Visual Intuition

The Graphs pattern is designed to eliminate redundant work and reduce search spaces. Rather than evaluating every possible state using a naive brute-force approach, this pattern relies on an invariant that allows you to safely discard subproblems that cannot lead to an optimal answer. When encountering an interview question, look for core triggers such as monotonicity, contiguous constraints, optimal substructure, or overlapping subproblems.

2. Algorithmic Invariants & Step-by-Step Execution

To implement this pattern flawlessly under interview conditions, structure your thought process into three discrete steps:

  • State Initialization: Define your boundaries, pointers, or memoization tables clearly before entering loops.
  • State Transition: Update tracking variables incrementally as new elements enter or leave your active evaluation window.
  • Feasibility Check: When constraints are violated, systematically shrink or adjust your state until the valid invariant is restored.

3. Time and Space Complexity Trade-Offs

In top-tier technical interviews at Google, Meta, and Amazon, arriving at a working solution is only half the battle. You must explicitly justify why your approach achieves optimal Big-O bounds. For Graphs, the target time complexity is typically O(V + E) while maintaining an auxiliary space complexity of O(V) for visited set. Always discuss whether an in-place modification or two-pass traversal can save memory.

4. Common Interview Edge Cases to Test

Before informing your interviewer that you have completed coding, trace your logic against these standard high-failure test cases:

  • Empty inputs, single-element collections, or all-identical values.
  • Inputs with negative numbers, duplicates, or extreme values that could cause integer overflow.
  • Odd versus even length inputs when dealing with pointer convergence or tree midpoints.

Related Guide

Graph Problems Cheat Sheet: BFS vs DFS vs Union-Find →

Not sure which graph algorithm to reach for? This cheat sheet maps problem types to the right tool i…

Buy me a coffee
Daily Practice
0/0