Menu
CoddyTech

Number of Provinces

Hay n ciudades, numeradas de 0 a n-1. Recibes una matriz n × n isConnected como una lista de filas: isConnected[i][j] es 1 cuando una carretera conecta directamente la ciudad i con la ciudad j, y 0 cuando no lo hace. Las carreteras funcionan en ambos sentidos, por lo que la matriz es simétrica, y se considera que cada ciudad está conectada consigo misma.

Una provincia es un grupo de ciudades que pueden llegar todas unas a otras, directamente o a través de otras ciudades, sin que ninguna carretera salga del grupo. Devuelve el número de provincias.

Función

findCircleNum(isConnected: integer-2d-array) → integer
isConnectedinteger-2d-array
la matriz n × n, 1 donde una carretera conecta directamente dos ciudades
Devuelveinteger
el número de provincias

Restricciones

  • 1 ≤ n ≤ 150, donde n = isConnected.length
  • isConnected[i].length = n
  • isConnected[i][j] es 0 o 1
  • isConnected[i][i] = 1
  • isConnected[i][j] = isConnected[j][i]

Ejemplos

Entrada
isConnected = [[1, 0, 0, 1], [0, 1, 1, 0], [0, 1, 1, 0], [1, 0, 0, 1]]
Salida
2
Explicación
La ciudad 0 tiene una carretera que lleva a la ciudad 3, y la ciudad 1 tiene una carretera que lleva a la ciudad 2. No hay ninguna carretera que conecte los dos pares, así que hay 2 provincias.

lock icon+15 pruebas ocultas al enviar

challenge icon

Para ir más allá

Cada carretera se abre en un día determinado. ¿Puedes encontrar el primer día en que todas las ciudades pertenezcan a una sola provincia?

Restablecer código
def findCircleNum(isConnected):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Entrada

isConnected = [[1, 0, 0, 1], [0, 1, 1, 0], [0, 1, 1, 0], [1, 0, 0, 1]]

Esperado

2