package q547 func walk(graph [][]int, i int, seen []bool) { for j := range graph { if graph[i][j] == 1 && !seen[j] { seen[j] = true walk(graph, j, seen) } } } func findCircleNum(isConnected [][]int) int { seen := make([]bool, len(isConnected)) provinces := 0 for i := range len(isConnected) { if !seen[i] { walk(isConnected, i, seen) provinces++ } } return provinces } var _ = findCircleNum