Back to Practice Dashboard
Top 150 InterviewEasy

Number of Connected Components

Learn how to solve the 'Number of Connected Components' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

You have a graph of n nodes. You are given an integer n and an array edges where edges[i] = [ai, bi] indicates that there is an undirected edge between ai and bi in the graph.

Return the number of connected components in the graph.

Write a function countComponents(n: int, edges: List[List[int]]) -> int.

Constraints
  • 1 <= n <= 2000
  • 0 <= len(edges) <= 5000
  • edges[i].length == 2
  • 0 <= ai, bi < n

Examples

Example 1
Input
n = 5, edges = [[0,1],[1,2],[3,4]]
Output
2
Explanation

Nodes 0, 1, 2 form one component, and nodes 3, 4 form another component.

Example 2
Input
n = 5, edges = [[0,1],[1,2],[2,3],[3,4]]
Output
1
Explanation

All nodes are connected in a single path.

Need a Hint?
Represent graph node connections as an adjacency list/matrix, then use standard BFS or DFS graph traversal.
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor