Menu
CoddyTech

Number of Provinces

Ci sono n città, numerate da 0 a n-1. isConnected[i][j] è 1 quando una strada collega direttamente la città i e la città j, e 0 altrimenti. Le strade funzionano in entrambe le direzioni, quindi la matrice è simmetrica e ogni città è collegata a se stessa.

Una provincia è un gruppo di città che possono raggiungersi tutte tra loro, direttamente o passando per altre città, senza che alcuna strada conduca 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 oppure 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.
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

Test #1

Test #2

Argomento

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

Output atteso

2