美文网首页
200. 岛屿数量

200. 岛屿数量

作者: HamletSunS | 来源:发表于2019-08-10 14:41 被阅读0次

我的思路:

  • 采用深度优先搜索,把附近为1的全部进行标记。
  • 对每一个格子遍历进行遍历,若为1且没被标记,则ret++

借鉴:

  • 可以使用BFS,即标记附近的格子的时候采用bfs去遍历(若当前格子为1,则放入周围所有为1的格子,并标记)
  • 可以采用并查集(没看)
class Solution {
public:
    int numIslands(vector<vector<char>>& grid) {
        ret=0;        
        row=grid.size();
        if(row==0)
            return ret;
        col=grid[0].size();
        if(col==0)
            return 0;
        used=vector<vector<bool>>(row,vector<bool>(col,false));
        for(int i=0;i<row;i++)
            for(int j=0;j<col;j++){
                if(used[i][j]==false && grid[i][j]=='1'){
                    ret++;
                    getNum(grid,used,i,j);
                }
            }
        
        return ret;
        
    }
private:
    vector<vector<bool>> used;
    int ret,row,col;
    void getNum(vector<vector<char>> &grid,vector<vector<bool>> &used,int x,int y){
        if(x<0||x>=row||y<0||y>=col||grid[x][y]=='0')
            return ;
        if(grid[x][y]== '1' && used[x][y]==false){
            used[x][y]=true;
            getNum(grid,used,x+1,y);
            getNum(grid,used,x-1,y);
            getNum(grid,used,x,y+1);
            getNum(grid,used,x,y-1);

        }
    };
};

相关文章

  • 200. 岛屿数量

    200. 岛屿数量

  • LeetCode-200-岛屿数量

    LeetCode-200-岛屿数量 200. 岛屿数量[https://leetcode-cn.com/probl...

  • 200. 岛屿数量

    我的思路: 采用深度优先搜索,把附近为1的全部进行标记。 对每一个格子遍历进行遍历,若为1且没被标记,则ret++...

  • 200. 岛屿数量

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

  • 200. 岛屿数量

    只能是水平或竖直来进行切割小岛 在遍历整个矩阵时,如果遇到是1,向东南西北四个方向进行扩散: (1)观察是否越界(...

  • 200. 岛屿数量

    给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座...

  • 200.岛屿数量

    源码如下 四连通的经典题。 去检查一个1周围四个方向是否有没走过的1。同时遍历的1,标记一个数字,标记完后标记数字自加。

  • 200.岛屿数量

    给你一个由'1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿...

  • 200. 岛屿数量

    200. 岛屿数量[https://leetcode-cn.com/problems/number-of-isla...

  • 200. 岛屿数量

    解法 图类联通性问题,可以用深度优先遍历,往4个方向进行遍历,直到越界,或者找到的元素不是1,或者节点已经访问过,...

网友评论

      本文标题:200. 岛屿数量

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