class Solution {
public static int findCircleNum(int[][] isConnected) {
int length=isConnected.length;
int[]parent=new int[length];
for(int i=0;i<length;i++)
{
parent[i]=i;
}
for(int i=0;i<length;i++)
for(int j=i+1;j<length;j++)
{
if(isConnected[i][j]==1)
{
union(parent,i,j);
}
}
int result=0;
for(int i=0;i<length;i++)
{
if(parent[i]==i)result++;
}
return result;
}
private static void union(int[]parent,int a,int b)
{
parent[findparent(parent,b)]=findparent(parent,a);
}
private static int findparent(int[]parent,int i)
{
if(parent[i]==i)
{
return i;
}
return parent[i]=findparent(parent,parent[i]);
}
}
leetcode 547省份数量(并查集)感觉并查集也就这样
最新推荐文章于 2024-07-22 14:15:06 发布