leetcode 695. Max Área de mayor superficie de la isla Isla de DFS

leetcode 695. Max Área de mayor superficie de la isla Isla de DFS

leetcode 2020 1 pregunta de marzo de golpe diaria

Título: Dada una matriz bidimensional de no nulo número rejilla 0 y 1, es una isla formada de una combinación de cuatro direcciones (horizontal o vertical) 1 (que representan la tierra). Se puede suponer que los cuatro bordes de la matriz de dos dimensiones están rodeadas de agua. Encuentra una matriz bidimensional dado en la isla más grande de la zona. (Si no hay islas, la zona se volvió a 0.)

Ejemplo 1:
[[0,0,1,0,0,0,0,1,0,0,0,0,0],
[0,0,0,0,0,0,0,1,1 , 1,0,0,0],
[0,1,1,0,1,0,0,0,0,0,0,0,0],
[0,1,0,0,1,1 , 0,0,1,0,1,0,0],
[0,1,0,0,1,1,0,0,1,1,1,0,0],
[0,0,0 , 0,0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,1,1,1,0,0,0],
[0,0,0,0,0,0,0,1,1,0,0,0,0]]
para lo anterior debe devolver la matriz dada 6. Tenga en cuenta que la respuesta no debería ser 11, ya que las islas comprenden sólo cuatro dirección horizontal o vertical es '1'.
Ejemplo 2:
[[0,0,0,0,0,0,0,0]]
Para la matriz dada anteriormente, se devuelve 0.

Nota: La longitud y anchura de la matriz de rejilla dada no es más que 50.

Fuente: Botón de estancia (LeetCode)
enlace: https: //leetcode-cn.com/problems/max-area-of-island

Ideas: Python:primero en profundidad DFS búsqueda.

Detalles: acaba de comenzar tratando el mayor algoritmo de dominio conectado, pero sin éxito. Con el fin de consolidar DFS fueron e hicieron LeetCode 733. Flood Fill

código:

class Solution(object):
    def maxAreaOfIsland(self, grid):
        """
        :type grid: List[List[int]]
        :rtype: int
        """
        m, n = len(grid), len(grid[0])
        def dfs(gird, i, j):
            if 0<=i<m and  0<=j<n and grid[i][j]:
                grid[i][j] = 0
                return 1 + dfs(grid, i+1,j) + dfs(grid, i-1, j) + dfs(grid, i, j+1) + dfs(grid, i, j-1)
            return 0
        result = 0
        for x in range(m):
            for y in range(n):
                result = max(result, dfs(grid, x, y))
        return result

Este blog es una obra original, dio la bienvenida a la guía, reproduce, por favor indique la fuente, adjuntar un enlace a este artículo, gracias

Publicado 20 artículos originales · ganado elogios 1 · visitas 202

Supongo que te gusta

Origin blog.csdn.net/weixin_43973433/article/details/104888001
Recomendado
Clasificación