Menu
CoddyTech

Number of Islands

MedioGrafospython iconjava iconcpp iconc iconjs icon+10

Recibes un mapa como una lista de cadenas de igual longitud, donde '1' es una casilla de tierra y '0' es una casilla de agua. Dos casillas de tierra pertenecen a la misma isla cuando comparten un lado: arriba, abajo, a la izquierda o a la derecha. Las casillas que solo se tocan por una esquina no están conectadas. Devuelve el número de islas.

Función

numIslands(grid: string-array) → integer
gridstring-array
el mapa, una cadena por fila
Devuelveinteger
el número de islas

Restricciones

  • 1 ≤ grid.length ≤ 150
  • 1 ≤ grid[i].length ≤ 150
  • Todas las filas tienen la misma longitud.
  • Cada carácter es '0' o '1'.

Ejemplos

Entrada
grid = ["11000", "11000", "00100", "00011"]
Salida
3
Explicación
Los cuatro cuadrados de la parte superior izquierda forman una isla. El cuadrado central de la tercera fila solo los toca por una esquina, así que es una segunda isla. El par de la parte inferior derecha es la tercera.
challenge icon

Para ir más allá

La tierra aparece ahora un cuadrado a la vez en un mapa de agua. ¿Puedes indicar el número de islas después de cada nuevo cuadrado sin volver a recorrer todo el mapa?

Restablecer código
def numIslands(grid):
    # Escribe el código aquí

Prueba #1

Prueba #2

Argumento

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

Salida Esperada

3