美文网首页
200.岛屿数量

200.岛屿数量

作者: SunspotsInys | 来源:发表于2019-06-10 09:23 被阅读0次

源码如下

class Solution {
public:
    int numIslands(vector<vector<char>>& grid) {
        vector<vector<int> > g(grid.size());
        for (int i = 0; i < grid.size(); ++i) {
            g[i].resize(grid[i].size());
            for (int j = 0; j < grid[i].size(); ++j) {
                if (grid[i][j] == '1') {
                    g[i][j] = 0;
                } else {
                    g[i][j] = -1;
                }
            }
        }
        for (int i = 0; i < grid.size(); ++i) {
            for (int j = 0; j < grid[i].size(); ++j) {
                if (!g[i][j]) {
                    mark(g, i, j);
                    cout << "------------\n";
                    tot++;
                }
            }
        }
        return tot-1;
    }
private:
    int  tot = 1;
    void mark(vector<vector<int> >& g, int i, int j) {
        cout << i << "\t" << j << endl;
        g[i][j] = tot;
        if (i+1<g.size() && !g[i+1][j]) {
            mark(g, i+1, j);
        }
        if (j+1< g[i].size() && !g[i][j+1]) {
            mark(g, i, j+1);
        }
        if (j-1 > -1 && !g[i][j-1]) {
            mark(g, i, j-1);
        }
        if (i-1 > -1 && !g[i-1][j]) {
            mark(g, i-1, j);
        }
    }
};
  • 四连通的经典题。
  • 去检查一个1周围四个方向是否有没走过的1。同时遍历的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/kxdaxctx.html