Menu
CoddyTech

Number of Islands

MédioGrafospython iconjava iconcpp iconc iconjs icon+10

Você recebe um mapa como uma lista de strings de mesmo comprimento, em que '1' é um quadrado de terra e '0' é um quadrado de água. Dois quadrados de terra pertencem à mesma ilha quando compartilham um lado: acima, abaixo, à esquerda ou à direita. Quadrados que se encontram apenas em um canto não estão conectados. Retorne o número de ilhas.

Função

numIslands(grid: string-array) → integer
gridstring-array
o mapa, uma string por linha
Retornainteger
o número de ilhas

Restrições

  • 1 ≤ grid.length ≤ 150
  • 1 ≤ grid[i].length ≤ 150
  • Cada linha tem o mesmo comprimento.
  • Todo caractere é '0' ou '1'.

Exemplos

Entrada
grid = ["11000", "11000", "00100", "00011"]
Saída
3
Explicação
Os quatro quadrados no canto superior esquerdo formam uma ilha. O quadrado do meio da terceira linha só toca neles por um canto, então é uma segunda ilha. O par no canto inferior direito é a terceira.
challenge icon

Para ir além

A terra agora aparece um quadrado por vez em um mapa de água. Você consegue informar o número de ilhas após cada novo quadrado sem examinar o mapa inteiro novamente?

Redefinir código
def numIslands(grid):
    # Escreva o código aqui

Teste #1

Teste #2

Argumento

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

Saída Esperada

3