题解 | #岛屿的最大面积#

岛屿的最大面积

http://www.nowcoder.com/practice/5568943d3a08403f932a5e54ec3ece71

dfs+染色法
每次搜索到的岛屿就将岛屿淹没
class Solution {
public:
    const int dx[4]={0,0,1,-1};
    const int dy[4]={1,-1,0,0};
    int ma=0;
    void dfs(vector<vector<int> >& grid,int x,int y,int& s){
        s+=1;
        grid[x][y]=0;
        ma=max(ma,s);
        for(int i=0;i<4;i++){
            int mx=dx[i]+x;
            int my=dy[i]+y;
            if(mx>=0&&mx<grid.size()&&my>=0&&my<grid[0].size()&&grid[mx][my]==1){
                dfs(grid,mx,my,s);
            }
        }
    }
    int maxAreaIsland(vector<vector<int> >& grid) {
        for(int i=0;i<grid.size();i++){
            for(int j=0;j<grid[0].size();j++){
                if(grid[i][j]==1){
                    int s=0;
                    dfs(grid,i,j,s);
                }
            }
        }
        return ma;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
03-19 10:38
实力求职者:真的绷不住了,第一张霸总人设,第二张求生欲拉满
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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