Quel est le scénario de référence pour la suite de la fonction récursive

voix
0

En tant que nouveau programmeur python, je suis la solution question et correspondant suivant pour « Nombre de Island » Leetcode Question:

Question: https://leetcode.com/problems/number-of-islands/

Étant donné une carte quadrillée 2d de « 1 '(terre) et » 0 s (eau), compter le nombre d'îles. Un îlot est entouré par l'eau et est formée en connectant les terrains adjacents horizontalement ou verticalement. Vous pouvez prendre les quatre bords de la grille sont tous entourés par l'eau.

Exemple:

Contribution:

11110

11010

11000

00000

Sortie: 1

Solution:

class Solution:
    def numIslands(self, grid: List[List[str]]) -> int:
        rmax = len(grid)
        if rmax == 0:
            return 0
        cmax = len(grid[0])
        island = 0
        def DFS(grid,r,c,rmax,cmax):
            grid[r][c]='0'
            if r+1<rmax and grid[r+1][c]=='1':
                DFS(grid,r+1,c,rmax,cmax)
            if r-1>=0 and grid[r-1][c]=='1':
                DFS(grid,r-1,c,rmax,cmax)
            if c+1<cmax and grid[r][c+1]=='1':
                DFS(grid,r,c+1,rmax,cmax)
            if c-1>=0 and grid[r][c-1]=='1':
                DFS(grid,r,c-1,rmax,cmax)
        for r in range(rmax):
            for c in range(cmax):
                if grid[r][c]=='1':
                    DFS(grid,r,c,rmax,cmax)
                    island+=1
        return island

tout expert peut me faire savoir ce qui est le cas de base dans la fonction DFS?

Créé 13/01/2020 à 21:53
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more