Number of Connected Components in an Undirected Graph -- LeetCode
2016-08-19 07:11
483 查看
Given
Example 1:
Given
Example 2:
Given
Note:
You can assume that no duplicate edges will appear in
思路:并查集(Union find)
nnodes labeled from
0to
n - 1and a list of undirected edges (each edge is a pair of nodes), write a function to find the number of connected components in an undirected graph.
Example 1:
0 3 | | 1 --- 2 4
Given
n = 5and
edges = [[0, 1], [1, 2], [3, 4]], return
2.
Example 2:
0 4 | | 1 --- 2 --- 3
Given
n = 5and
edges = [[0, 1], [1, 2], [2, 3], [3, 4]], return
1.
Note:
You can assume that no duplicate edges will appear in
edges. Since all edges are undirected,
[0, 1]is the same as
[1, 0]and thus will not appear together in
edges.
思路:并查集(Union find)
class Solution { public: int getFather(vector<int>& father, int i) { if (father[i] == i) return i; father[i] = getFather(father, father[i]); return father[i]; } void merge(vector<int>& father, int i, int j) { int fatherI = getFather(father, i); int fatherJ = getFather(father, j); father[fatherJ] = fatherI; } int countComponents(int n, vector<pair<int, int>>& edges) { vector<int> father; for (int i = 0; i < n; i++) father.push_back(i); for (int i = 0, n = edges.size(); i < n; i++) merge(father, get<0>(edges[i]), get<1>(edges[i])); unordered_set<int> unions; for (int i = 0; i < n; i++) unions.insert(getFather(father, i)); return unions.size(); } };
相关文章推荐
- LeetCode Number of Connected Components in an Undirected Graph
- leetcode Number of Connected Components in an Undirected Graph
- LeetCode-Number of Connected Components in an Undirected Graph
- Leetcode: Number of Connected Components in an Undirected Graph
- [leetcode323]Number of Connected Components in an Undirected Graph
- [LeetCode] Number of Connected Components in an Undirected Graph 无向图中的连通区域的个数
- Number of Connected Components in an Undirected Graph 无向图中的连通区域的个数
- [Locked] Number of Connected Components in an Undirected Graph
- Number of Connected Components in an Undirected Graph
- Number of Connected Components in an Undirected Graph
- LeetCode 323. Number of Connected Components in an Undirected Graph
- LeetCode 323. Number of Connected Components in an Undirected Graph(连通分量)
- Leetcode 323. Number of Connected Components in an Undirected Graph
- Leetcode 323. Number of Connected Components in an Undirected Graph
- Number of Connected Component in An Undirected Graph
- LeetCode 323. Number of Connected Components in an Undirected Graph
- No323. Number of Connected Components in an Undirected Graph
- 323. Number of Connected Components in an Undirected Graph
- sicily 4378 connected components in undirected graph
- WCF:Maximum number of items that can be serialized or deserialized in an object graph is '65536'.