Menu
CoddyTech

Number of Islands

MittelGraphenpython iconjava iconcpp iconc iconjs icon+10

Du erhältst eine Karte als Liste gleich langer Zeichenfolgen, wobei '1' ein Landquadrat und '0' ein Wasserquadrat ist. Zwei Landquadrate gehören zur selben Insel, wenn sie eine Seite gemeinsam haben: oben, unten, links oder rechts. Quadrate, die sich nur an einer Ecke berühren, sind nicht verbunden. Gib die Anzahl der Inseln zurück.

Funktion

numIslands(grid: string-array) → integer
gridstring-array
die Karte, eine Zeichenfolge pro Zeile
Gibt zurückinteger
die Anzahl der Inseln

Einschränkungen

  • 1 ≤ grid.length ≤ 150
  • 1 ≤ grid[i].length ≤ 150
  • Jede Zeile hat dieselbe Länge.
  • Jedes Zeichen ist '0' oder '1'.

Beispiele

Eingabe
grid = ["11000", "11000", "00100", "00011"]
Ausgabe
3
Erklärung
Die vier Quadrate oben links bilden eine Insel. Das mittlere Quadrat in der dritten Zeile berührt sie nur an einer Ecke, daher ist es eine zweite Insel. Das Paar unten rechts ist die dritte.
challenge icon

Weiterführende Frage

LAND erscheint nun ein Feld nach dem anderen auf einer Wasserkarte. Kannst du nach jedem neuen Feld die Anzahl der Inseln angeben, ohne die ganze Karte erneut zu durchsuchen?

Code zurücksetzen
def numIslands(grid):
    # Schreibe hier den Code

Test #1

Test #2

Argument

grid = ["11000", "11000", "00100", "00011"]

Erwartete Ausgabe

3