Leetcode 323. Number of Connected Components in an Undirected Graph
来源:互联网 发布:淘宝上的零食安全吗 编辑:程序博客网 时间:2024/06/01 10:32
Given n
nodes labeled from 0
to n - 1
and 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 = 5
and edges = [[0, 1], [1, 2], [3, 4]]
, return 2
.
Example 2:
0 4 | | 1 --- 2 --- 3
Given n = 5
and 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
.
题目要我们找到一个graph 里 互相连接的component 的个数
1、使用 adjacent list 来表示一个图2、遍历每个 节点 从1到N
3、DFS (深度优先搜索), 用一个boolean array 来记录访问的节点
public class Solution { public int countComponents(int n, int[][] edges) { if (n <= 1) return n; List<List<Integer>> adj_list = new ArrayList<>(); for (int i = 0; i < n; i++) { adj_list.add(new ArrayList<Integer>()); } for (int[] edge : edges) { adj_list.get(edge[0]).add(edge[1]); adj_list.get(edge[1]).add(edge[0]); } boolean[] visited = new boolean[n]; int count = 0; for (int i = 0; i < n; i++) { if (!visited[i]) { count++; dfs(visited, i, adj_list); } } return count; } private void dfs(boolean[] visited, int index, List<List<Integer>> adj_list) { visited[index] = true; for (int i : adj_list.get(index)) { if (!visited[i]) dfs(visited, i, adj_list); } }}
0 0
- 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
- Leetcode 323. Number of Connected Components in an Undirected Graph
- leetcode Number of Connected Components in an Undirected Graph
- 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 解题报告
- [leetcode323]Number of Connected Components in an Undirected Graph
- Number of Connected Components in an Undirected Graph
- No323. Number of Connected Components in an Undirected Graph
- leetcode323. Number of Connected Components in an Undirected Graph
- Number of Connected Components in an Undirected Graph 无向图中的连通区域的个数
- Sicily 1002. connected components in undirected graph
- Connected Component in Undirected Graph
- connect components in undirected graph
- JVM 类加载机制深入浅出
- 聊聊架构(1)
- extend(扩展)和append(追加)的区别
- Softmax求导计算
- 国内镜像安装python相关包
- Leetcode 323. Number of Connected Components in an Undirected Graph
- Easy-21
- Problem F: 来算一下自己的成绩吧!
- C++中引用(&)的用法和应用实例
- jQuery中的一些自己写的方法
- 【Get深一度】Hilbert变换(平时写的文档,没法直接复制粘贴到CSDN里,只好截图了)
- 调取微信相册相机
- 3872---->幸运名单
- Android 弹出对话框 且焦点在确认或者取消