200. 岛屿数量

图片说明

class Solution {
    //总结 二维数组需要考虑n 在考虑m
    //需要看看左右上下 而不是仅考虑右下
    public int numIslands(char[][] grid) {
        int n = grid.length;
        if(n==0)return 0;
        int m = grid[0].length;
        if(m==0)return 0;
        boolean flag [][] =  new boolean [n][m];
        int ans = 0 ;
        for(int i = 0 ; i < n ; i++ ) {
            for(int j = 0; j < m ;j++) {
                if(grid[i][j]=='1'&&flag[i][j]!=true) {
                    bool_flag(flag,grid,i,j,n,m);
                    ans++;
                }
            }
        }
        return ans;
    }
    public void bool_flag(boolean flag[][],char[][] grid,int i , int j,int n , int m) {
        if(i<0||j<0||i>=n||j>=m||grid[i][j]=='0'||flag[i][j]==true) {
            return ;
        }
        else {
            flag[i][j] = true;
            bool_flag(flag,grid,i+1,j,n,m);
            bool_flag(flag,grid,i-1,j,n,m);
            bool_flag(flag,grid,i,j+1,n,m);
            bool_flag(flag,grid,i,j-1,n,m);
        }
    }

}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 13:15
点赞 评论 收藏
分享
线性袋鼠:别听牛客上一帮伪人在那说,小厂不能去,必须去大厂,听他们放屁吧。学院本+一些一本最终的归宿就是中小厂,大厂那么好进吗
我的实习日记
点赞 评论 收藏
分享
06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:23
转人工😡
门口唉提是地铁杀:五次握手了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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