Menu
CoddyTech

Number of Islands

MedioGrafipython iconjava iconcpp iconc iconjs icon+10

Ricevi una mappa sotto forma di un elenco di stringhe della stessa lunghezza, dove '1' è una casella di terra e '0' è una casella d'acqua. Due caselle di terra appartengono alla stessa isola quando condividono un lato: in alto, in basso, a sinistra o a destra. Le caselle che si toccano solo in un angolo non sono collegate. Restituisci il numero di isole.

Funzione

numIslands(grid: string-array) → integer
gridstring-array
la mappa, una stringa per riga
Restituisceinteger
il numero di isole

Vincoli

  • 1 ≤ grid.length ≤ 150
  • 1 ≤ grid[i].length ≤ 150
  • Ogni riga ha la stessa lunghezza.
  • Ogni carattere è '0' oppure '1'.

Esempi

Input
grid = ["11000", "11000", "00100", "00011"]
Output
3
Spiegazione
I quattro quadrati in alto a sinistra formano un’isola. Il quadrato centrale della terza riga li tocca solo in un angolo, quindi costituisce una seconda isola. La coppia in basso a destra è la terza.
challenge icon

Per approfondire

LAND ora appare un quadrato alla volta su una mappa d'acqua. Riesci a comunicare il numero di isole dopo ogni nuovo quadrato senza esaminare di nuovo l'intera mappa?

Ripristina il codice
def numIslands(grid):
    # Scrivi il codice qui

Test #1

Test #2

Argomento

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

Output atteso

3