lc-go/solutions/5/q547/solution.go
2026-01-25 11:56:12 +09:00

25 lines
422 B
Go

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