Menu
CoddyTech

Number of Islands

MoyenGraphespython iconjava iconcpp iconc iconjs icon+10

Vous recevez une carte sous forme d’une liste de chaînes de même longueur, où '1' représente une case de terre et '0' une case d’eau. Deux cases de terre appartiennent à la même île lorsqu’elles partagent un côté : en haut, en bas, à gauche ou à droite. Les cases qui se touchent uniquement par un coin ne sont pas connectées. Renvoyez le nombre d’îles.

Fonction

numIslands(grid: string-array) → integer
gridstring-array
la carte, une chaîne par ligne
Renvoieinteger
le nombre d’îles

Contraintes

  • 1 ≤ grid.length ≤ 150
  • 1 ≤ grid[i].length ≤ 150
  • Chaque ligne a la même longueur.
  • Chaque caractère est '0' ou '1'.

Exemples

Entrée
grid = ["11000", "11000", "00100", "00011"]
Sortie
3
Explication
Les quatre carrés en haut à gauche forment une île. Le carré du milieu de la troisième rangée ne les touche que par un coin ; c’est donc une deuxième île. La paire en bas à droite constitue la troisième.
challenge icon

Pour aller plus loin

La terre apparaît maintenant carré par carré sur une carte d’eau. Peux-tu indiquer le nombre d’îles après l’apparition de chaque nouveau carré sans parcourir à nouveau toute la carte ?

Réinitialiser le code
def numIslands(grid):
    # Écrivez le code ici

Test #1

Test #2

Argument

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

Résultat attendu

3