LeetCode 200. 岛屿数量

class Solution {
public:
    bool st[310][310];
    int dx[4]={0,0,-1,1},dy[4]={-1,1,0,0};
    int m,n;
    int numIslands(vector<vector<char>>& g) {
        int res=0;
        n=g.size(),m=g[0].size();
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
            {
                if(!st[i][j]&&g[i][j]=='1')
                {
                    dfs(i,j,g);
                    res++;
                }
            }
        return res;
    }
    void dfs(int x,int y,vector<vector<char>>& g)
    {
        st[x][y]=true;
        for(int i=0;i<4;i++)
        {
            int a=x+dx[i],b=y+dy[i];
            if(a>=0&&a<n&&b>=0&&b<m&&!st[a][b]&&g[a][b]=='1')
                dfs(a,b,g);
        }
    }
};
posted @   穿过雾的阴霾  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示