Menu
CoddyTech

Number of Provinces

Há n cidades, numeradas de 0 a n-1. isConnected[i][j] é 1 quando uma estrada conecta diretamente a cidade i à cidade j, e 0 caso contrário. As estradas funcionam nos dois sentidos, então a matriz é simétrica, e cada cidade está conectada a si mesma.

Uma província é um grupo de cidades em que todas podem alcançar umas às outras, diretamente ou por meio de outras cidades, sem que nenhuma estrada leve para fora do grupo. Retorne o número de províncias.

Função

findCircleNum(isConnected: integer-2d-array) → integer
isConnectedinteger-2d-array
a matriz n × n, 1 onde uma estrada liga duas cidades diretamente
Retornainteger
o número de províncias

Restrições

  • 1 ≤ n ≤ 150, onde n = isConnected.length
  • isConnected[i].length = n
  • isConnected[i][j] é 0 ou 1
  • isConnected[i][i] = 1
  • isConnected[i][j] = isConnected[j][i]

Exemplos

Entrada
isConnected = [[1, 0, 0, 1], [0, 1, 1, 0], [0, 1, 1, 0], [1, 0, 0, 1]]
Saída
2
Explicação
A cidade 0 tem uma estrada até a cidade 3, e a cidade 1 tem uma estrada até a cidade 2. Nenhuma estrada liga os dois pares, então há 2 províncias.
challenge icon

Para ir além

Cada estrada agora é aberta em um determinado dia. Você consegue encontrar o primeiro dia em que todas as cidades pertencem a uma única província?

Redefinir código
def findCircleNum(isConnected):
    # Escreva o código aqui

Teste #1

Teste #2

Argumento

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

Saída Esperada

2