Menu
CoddyTech

Number of Provinces

Ci sono n città, numerate da 0 a n-1. Ti viene fornita una matrice n × n isConnected come elenco di righe: isConnected[i][j] è 1 quando una strada collega direttamente la città i e la città j, e 0 quando non lo fa. Le strade funzionano in entrambe le direzioni, quindi la matrice è simmetrica, e ogni città è considerata collegata a sé stessa.

Una provincia è un gruppo di città che possono raggiungersi tutte tra loro, direttamente o passando per altre città, senza strade che conducano fuori dal gruppo. Restituisci il numero di province.

Funzione

findCircleNum(isConnected: integer-2d-array) → integer
isConnectedinteger-2d-array
la matrice n × n, 1 dove una strada collega direttamente due città
Restituisceinteger
il numero di province

Vincoli

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

Esempi

Input
isConnected = [[1, 0, 0, 1], [0, 1, 1, 0], [0, 1, 1, 0], [1, 0, 0, 1]]
Output
2
Spiegazione
La città 0 ha una strada che porta alla città 3 e la città 1 ha una strada che porta alla città 2. Nessuna strada collega le due coppie, quindi ci sono 2 province.

lock icon+15 test nascosti all’invio

challenge icon

Per approfondire

Ogni strada ora si apre in un determinato giorno. Riesci a trovare il primo giorno in cui tutte le città appartengono a un'unica provincia?

Ripristina il codice
def findCircleNum(isConnected):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Input

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

Atteso

2