101孤岛的总面积
我的思路:对每一片都求面积,同时递归时判断是否为孤岛。
改进思路:本题要求找到不靠边的陆地面积,那么我们只要从周边找到陆地然后 通过 dfs或者bfs 将周边靠陆地且相邻的陆地都变成海洋,然后再去重新遍历地图 统计此时还剩下的陆地就可以了。
102沉没孤岛
思路:与上题一致,唯一不同的就是周边靠陆地且相邻的陆地都变成2,之后陆地同时-1就可以沉没中间小岛。
103水流问题
原本思路:对每一个节点进行深度搜索,得到该节点所有可以到达的节点,就可以判断这个节点是否为结果节点。
原本思路问题:时间复杂度过高,会超时。
优化思路:逆向想法,从边路逆流而上,看能到达哪些地方。
出错点:没有分清行和列,导致数组访问越界。
104.建造最大岛屿
原本思路:遍历每一个节点,寻找最大岛。时间复杂度为四次方。
优化思路:首先遍历地图,得到每个岛屿,对其进行标号,用map对应面积,这样就可以通过受否连接其他岛屿直接加面积。
出错点:最大岛屿的初始值应该是原地图的最大岛屿,而不是0;
没有一片海被同一个岛屿包围的情况,被同一个岛屿包围只需要加一次,需要一个数组来记录。