This commit is contained in:
kkunkka
2025-09-25 22:55:34 +08:00
parent 647d282067
commit 2eb07a5211

View File

@@ -0,0 +1,47 @@
package com.dota.graph._2685;
import java.util.*;
class Solution {
public static void main(String[] args) {
new Solution().countCompleteComponents(6, new int[][]{{0,1},{0,2},{1,2},{3,4}});
}
public int countCompleteComponents(int n, int[][] edges) {
List<Integer>[] g = new ArrayList[n];
Arrays.setAll(g, i -> {
var list = new ArrayList<>();
list.add(i);
return list;
});
var book = new boolean[n];
for (int[] edge : edges) {
g[edge[0]].add(edge[1]);
g[edge[1]].add(edge[0]);
}
var sum = 0;
for (int i = 0; i < n; i++) {
if (!book[i]) {
var size = dfs(book, i, g);
int temp = 0;
for (Integer integer : g[i]) {
temp += g[integer].size();
}
if (size * g[i].size() == temp) {
sum++;
}
}
}
return sum;
}
int dfs(boolean[] book, int i, List<Integer>[] g) {
var set = 1;
book[i] = true;
for (Integer j : g[i]) {
if (!book[j]) set += dfs(book, j, g);
}
return set;
}
}