美文网首页
岛屿的个数

岛屿的个数

作者: Sczlog | 来源:发表于2018-12-17 13:05 被阅读3次

题目

public class Solution {
    /**
     * @param grid: a boolean 2D matrix
     * @return: an integer
     */
    public int numIslands(boolean[][] grid) {
        // write your code here
        int sum = 0;
        for(int x = 0;x<grid.length;x++){
            for(int y = 0 ; y<grid[x].length;y++){
                if(grid[x][y]){
                    sum++;
                    grid[x][y] = false;
                    removeSame(grid,x,y);
                }
            }
        }
        return sum;
    }
    
    public void removeSame(boolean[][] grid,int x, int y){
        for(int i = x+1;i<grid.length;i++){
            if(grid[i][y]){
                grid[i][y] = false;
                removeSame(grid,i,y);
            }else{
                break;
            }
        }
        for(int i = x-1;i>=0;i--){
            if(grid[i][y]){
                grid[i][y] = false;
                removeSame(grid,i,y);
            }else{
                break;
            }
        }
        for(int i = y+1;i<grid[x].length;i++){
            if(grid[x][i]){
                grid[x][i] = false;
                removeSame(grid,x,i);
            }else{
                break;
            }
        }
        for(int i = y-1;i>=0;i--){
            if(grid[x][i]){
                grid[x][i] = false;
                removeSame(grid,x,i);
            }else{
                break;
            }
        }
    }
}

思路:搜索到陆地(1)以后向前后以及下方遍历直至搜到海(0),将搜索到的陆地全部置为0并且将岛屿数量+1。

相关文章

  • 岛屿个数

    题目给定一个m行n列的二维地图,初始化每个单元都是水,操作addLand把单元格(row,col)变成陆地。岛屿定...

  • 岛屿的个数

    给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或...

  • 岛屿的个数

    给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或...

  • 岛屿的个数

    这题考察广度优先遍历和深度优先遍历,利用递归的方式做还算比较简单,但是输出的格式有待斟酌! 几个岛(滴滴) 题目:...

  • 岛屿的个数

    题目 思路:搜索到陆地(1)以后向前后以及下方遍历直至搜到海(0),将搜索到的陆地全部置为0并且将岛屿数量+1。

  • LeetCode:岛屿的个数

    岛屿的个数 题目叙述: 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围...

  • 11 - Medium - 岛屿的个数

    给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或...

  • 200. 岛屿的个数

    题目描述 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过...

  • 433. 岛屿的个数

    给一个01矩阵,求不同的岛屿的个数。0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左...

  • LeetCode:岛屿的个数(Swift)

    最近对算法突然来了兴趣,奈何大学学的数据结构算法已经丢完了,只有自己一点点的捡回来啰。言归正传,来看看LeetCo...

网友评论

      本文标题:岛屿的个数

      本文链接:https://www.haomeiwen.com/subject/aobqkqtx.html