Menu
CoddyTech

Number of Provinces

Es gibt n Städte, nummeriert von 0 bis n-1. isConnected[i][j] ist 1, wenn eine Straße die Stadt i direkt mit der Stadt j verbindet, und andernfalls 0. Straßen sind in beide Richtungen befahrbar, daher ist die Matrix symmetrisch, und jede Stadt ist mit sich selbst verbunden.

Eine Provinz ist eine Gruppe von Städten, die sich alle gegenseitig erreichen können, direkt oder über andere Städte, wobei keine Straße aus der Gruppe hinausführt. Gib die Anzahl der Provinzen zurück.

Funktion

findCircleNum(isConnected: integer-2d-array) → integer
isConnectedinteger-2d-array
die n × n-Matrix, 1, wenn eine Straße zwei Städte direkt verbindet
Gibt zurückinteger
die Anzahl der Provinzen

Einschränkungen

  • 1 ≤ n ≤ 150, wobei n = isConnected.length
  • isConnected[i].length = n
  • isConnected[i][j] ist 0 oder 1
  • isConnected[i][i] = 1
  • isConnected[i][j] = isConnected[j][i]

Beispiele

Eingabe
isConnected = [[1, 0, 0, 1], [0, 1, 1, 0], [0, 1, 1, 0], [1, 0, 0, 1]]
Ausgabe
2
Erklärung
Stadt 0 hat eine Straße zur Stadt 3, und Stadt 1 hat eine Straße zur Stadt 2. Keine Straße verbindet die beiden Paare, daher gibt es 2 Provinzen.
challenge icon

Weiterführende Frage

Jede Straße wird nun an einem bestimmten Tag geöffnet. Kannst du den ersten Tag finden, an dem alle Städte zu einer einzigen Provinz gehören?

Code zurücksetzen
def findCircleNum(isConnected):
    # Schreibe hier den Code

Test #1

Test #2

Argument

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

Erwartete Ausgabe

2