zoukankan      html  css  js  c++  java
  • Leetcode 695 岛屿的最大面积 二维平面DFS

      JAVA DFS:

    public final int maxAreaOfIslandDFS(int[][] grid) {
            int re = 0;
            for (int i = 0; i < grid.length; i++) {
                for (int j = 0; j < grid[0].length; j++) {
                    re = Math.max(re, dfs(grid, i, j));
                }
            }
            return re;
        }
    
        private final int dfs(int[][] grid, int x, int y) {
            if (x < 0 || y < 0 || x >= grid.length || y >= grid[0].length || grid[x][y] == 0) return 0;
            grid[x][y] = 0;
            return dfs(grid, x - 1, y) + dfs(grid, x + 1, y) + dfs(grid, x, y - 1) + dfs(grid, x, y + 1) + 1;
        }

      JS DFS:

    /**
     * @param {number[][]} grid
     * @return {number}
     */
    var maxAreaOfIsland = function (grid) {
        let re = 0;
        for (let i = 0; i < grid.length; i++) {
            for (let j = 0; j < grid[0].length; j++) {
                re = Math.max(re, dfs(grid, i, j));
            }
        }
        return re;
    };
    
    var dfs = (grid, x, y) => {
        if (x < 0 || y < 0 || x >= grid.length || y >= grid[0].length || grid[x][y] == 0) return 0;
        grid[x][y] = 0;
        return dfs(grid, x + 1, y) + dfs(grid, x - 1, y) + dfs(grid, x, y + 1) + dfs(grid, x, y - 1) + 1;
    }

  • 相关阅读:
    兼容性处理
    H5 IOS 虚拟键盘不回落的问题
    git 的版本控制
    vue-devtools工具的安装
    linux下安装mysql
    Python安装pip3常见问题
    linux下安装python3
    接口_注册接口
    接口_简单get接口_第一个接口
    Python学习笔记_Redis
  • 原文地址:https://www.cnblogs.com/niuyourou/p/14070494.html
Copyright © 2011-2022 走看看