101. 孤岛的总面积
dfs
首先dfs的作用就是在遇到陆地的时候找到所有的周围陆地
对于这道题的dfs 会把所有的链接边缘的陆地变成海洋 这样在全部调整之后
剩下的就是孤岛了 这道题中的dfs的结束条件就是遇到海洋时
遇到每一个陆地就会把面积+1,在每一次重新找到陆地时会充值count;
在具体求结果的时候 会遍历每个边 这样与边相连的陆地都会被标记 然后改成海洋
bfs逻辑一致 只是在bfs写法上的区别
102. 沉没孤岛
跟刚刚那道题刚刚好相反 把所以边缘陆地进行标记 最后遍历所有点 把不是标记的全部标为海洋
dfs
bfs
103. 水流问题
最直接的想法
用dfs看找这个点所有的临近点知道访问到终点为止
接下来分别去判断两个边界是否满足 如果都满足那么这个点就是需要输出的点
但是用时太久
方法二:
从两个边界也就是四个边去反向找 最后如果一个点从两个维度取看都是判断为能够走到 那么就是结果
104. 建造最大岛屿
dfs对于每一块陆地进行标记编号
之后用map取存每一个标记的面积
再用一个set取存判断过的大陆
遍历每一个海面 把周围的陆地面积和当前这个点相加得到最终面积 每一个陆地都会初始化count
这样就不需要专门存下了 并且更新result