博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Number of Connected Components in an Undirected Graph
阅读量:6824 次
发布时间:2019-06-26

本文共 1126 字,大约阅读时间需要 3 分钟。

1 public class Solution { 2     private int[] parent; 3     public int countComponents(int n, int[][] edges) { 4         if (edges.length == 0) { 5             return n; 6         } 7         parent = new int[n]; 8         for (int i = 0; i < n; i++) { 9             parent[i] = i;10         }11         12         for (int i = 0; i < edges.length; i++) {13             int aIndex = findParent(edges[i][0]);14             int bIndex = findParent(edges[i][1]);15             16             if (aIndex > bIndex) {17                 parent[aIndex] = bIndex;18             } else if (bIndex > aIndex) {19                 parent[bIndex] = aIndex;20             }21         }22         23         int result = 0;24         for (int i = 0; i < n; i++) {25             if (parent[i] == i) {26                 result++;27             }28         } 29         return result;30     }31     32     private int findParent(int x) {33         while (x != parent[x]) {34             parent[x] = parent[parent[x]];35             x = parent[x];36         }37         return x;38     }39 }

 

转载于:https://www.cnblogs.com/shuashuashua/p/5634710.html

你可能感兴趣的文章
Educational Codeforces Round 36 (Rated for Div. 2)
查看>>
深入理解javascript原型和闭包——从【自由变量】到【作用域链】
查看>>
java多线程
查看>>
Codevs1029 遍历问题
查看>>
远程连接提示“为Administrator连接到现存会话发生错误(Id 0).操作成功”
查看>>
nginx配置ssl证书
查看>>
fastjson SerializerFeature详解
查看>>
spring源码读书笔记
查看>>
HDOJ-1015 Safecracker 【DFS】
查看>>
读书笔记-->Java经典编程300例--明日科技--清华大学出版社(第一版)
查看>>
如何在存储过程中自动添加分区
查看>>
[并查集] POJ 1611 The Suspects
查看>>
C#设计模式总结
查看>>
团队开发------第一次冲刺第4天
查看>>
R对term进行层次聚类完整实例(tm包)
查看>>
20151124001 关闭C#主窗体弹出是否关闭对话框
查看>>
Excel中添加下拉框
查看>>
12-01JavaScript事件(Events)
查看>>
12-19Windows窗体应用程序之记事本(2)
查看>>
python连接数据库使用SQLAlchemy
查看>>