题解 | #岛屿数量#

岛屿数量

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 判断岛屿数量
 * @param grid char字符型二维数组 
 * @param gridRowLen int grid数组行数
 * @param gridColLen int* grid数组列数
 * @return int整型
 */
int arr[1000][1000],sum=0;
void dfs(int x,int y,char **grid,int gridRowLen,int *gridColLen)
{
    int move[4][2]={{0,1},{1,0},{0,-1},{-1,0}},tx,ty;
    for(int i=0;i<4;i++)
    {
        tx=x+move[i][0];
        ty=y+move[i][1];
        if(ty<0||ty>=*gridColLen||tx<0||tx>=gridRowLen) 
        continue;
        if(grid[tx][ty]=='1'&&arr[tx][ty]==0)
        {
            arr[tx][ty]=1;
            dfs(tx,ty,grid,gridRowLen,gridColLen);
        }
    }
}
//arr用以即时记录走过的路径
//brr用以标记整块岛屿
int solve(char** grid, int gridRowLen, int* gridColLen ) {
    // write code here
    for(int q=0;q<gridRowLen;q++)
    {
        for(int w=0;w<*gridColLen;w++)
        {
            if(grid[q][w]=='1'&&arr[q][w]==0)
            {
                arr[q][w]=1;
                dfs(q,w,grid,gridRowLen,gridColLen);
                sum++;
            }
        }
    }
    return sum;
}

全部评论

相关推荐

买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
家人们,我现在真的好纠结。我是26届的,目前还没有实习过。我现在的情况是,想参加秋招,但是感觉自己的简历特别空,没有实习经历会不会秋招直接凉凉啊?可我又听说现在很多公司对26届实习生也不太感冒,说什么不确定性大。而且我最近在准备考公,时间上也有点冲突。要是把时间花在实习上,备考时间就少了。但要是不实习,又怕以后就业有问题😫有没有懂行的友友帮我分析分析:26届现在不实习,秋招找工作真的会很难吗?考公和实习该怎么平衡啊?如果现在不实习,考完公再去找实习还来得及吗?真的太焦虑了,希望大家能给我点建议🙏
小破站_程序员YT:我可能和大家的观点不一样。人的精力是有限的,不能既要还要。你又想实习又想考公最后又要秋招上岸,我觉得哪有那么多的选择。你如果想考上岸,那就全力以赴。如果想秋招上岸,就继续投实习,投没了,就继续准备秋招,秋招不行继续春招。别到最后,考公没上岸,觉得是花了时间浪费在找实习上了, 秋招没上岸,觉得是浪费时间准备考公去了。我是认为很难说可以去平衡 不喜勿喷,可以叫我删除
实习与准备秋招该如何平衡
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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