by Pawan Kumar @jsartisan
Given an undirected graph with:
n
nodes (labeled from 0 to n-1)edges
array where edges[i] = [a, b] represents an edge between nodes a and b
Return the number of connected components in the graph.
A connected component is a group of nodes where:
- Any node can reach any other node in the same component
- No node can reach nodes in different components
Constraints:
- 1 ≤ n ≤ 100
- 0 ≤ edges.length ≤ n * (n-1) / 2
- No duplicate edges
- Edges are undirected
Examples:
// Example 1:
const n1 = 3;
const edges1 = [[0,1], [0,2]];
console.log(countComponents(n1, edges1));
// Output: 1
// Explanation: All nodes are connected
// Example 2:
const n2 = 6;
const edges2 = [[0,1], [1,2], [2,3], [4,5]];
console.log(countComponents(n2, edges2));
// Output: 2
// Explanation: Nodes 0-1-2-3 form one component, 4-5 form another