题解 | #岛屿数量#

岛屿数量

https://www.nowcoder.com/practice/0c9664d1554e466aa107d899418e814e


class Solution {
    int counts = 0;
    int visited[205][205];
    int m;
    int n;
    int a[4] = { -1100 };
    int b[4] = { 00, -11 };
  public:
    /**
     * 判断岛屿数量
     * @param grid char字符型vector<vector<>>
     * @return int整型
     */

    void dfs(int iint jvector<vector<char> >& grid) {
        if (i > m - 1 || j > n - 1 || i < 0 || j < 0 || grid[i][j] == '0' ||
                (grid[i][j] == '1' && visited[i][j] == 1)) {
            return;
        }
        visited[i][j] = 1;
        for (int k = 0; k < 4; k++) {
            int newi = i + a[k];
            int newj = j + b[k];
            dfs(newi, newj, grid);
        }
    }

    int solve(vector<vector<char> >& grid) {
        // write code here
        m = grid.size();
        n = grid[0].size();
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (grid[i][j] == '1' && visited[i][j] == 0) {
                    counts++;
                    dfs(i, j, grid);
                }
            }
        }
        return counts;
    }

};
全部评论

相关推荐

07-09 19:25
门头沟学院 Java
这是要把每一个投校招的都开盒吗?
26届之耻将大局逆转:裁人的时候一次性追回餐费
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
07-11 13:16
湖南工学院 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务