leetcode 695. Max Area of Island | 695. 岛屿的最大面积(DFS)

x33g5p2x  于2021-11-12 转载在 其他  
字(0.6k)|赞(0)|评价(0)|浏览(179)

题目

https://leetcode.com/problems/max-area-of-island/

题解

class Solution {
    int M, N;

    public int maxAreaOfIsland(int[][] grid) {
        M = grid.length;
        N = grid[0].length;
        boolean[][] visited = new boolean[M][N];
        int result = 0;
        for (int i = 0; i < M; i++) {
            for (int j = 0; j < N; j++) {
                if (!visited[i][j]) {
                    result = Math.max(result, dfs(grid, i, j, visited));
                }
            }
        }
        return result;
    }

    public int dfs(int[][] board, int i, int j, boolean[][] visited) {
        if (i < 0 || i == M || j < 0 || j == N || visited[i][j]) return 0;
        visited[i][j] = true;
        int result = 0;
        if (board[i][j] == 1) {
            result += 1;
            result += dfs(board, i - 1, j, visited);
            result += dfs(board, i + 1, j, visited);
            result += dfs(board, i, j - 1, visited);
            result += dfs(board, i, j + 1, visited);
        }
        return result;
    }
}

相关文章

微信公众号

最新文章

更多