1、题目描述
https://leetcode-cn.com/problems/friend-circles/
2、解析
3、代码
class Solution {
final int N = 210;
int[] p = new int[N];
int find(int x){
if(p[x] != x){
p[x] = find(p[x]);
}
return p[x];
}
public int findCircleNum(int[][] M) {
int row = M.length;
int res = row;
for(int i = 0;i < row;i ++) p[i] = i;
for(int i = 0;i < row;i ++){
for(int j = 0;j < i;j ++){
if(M[i][j] == 0) continue;
if(find(i) != find(j)){
p[find(i)] = find(j);
res --;
}
}
}
return res;
}
}