代码随想录算法训练营第五十三天 | 105.有向图的完全可达性 106.岛屿的周长

105.有向图的完全可达性

题目链接:101. 孤岛的总面积

文章讲解:代码随想录

视频讲解:图论:岛屿问题再出新花样 | 深搜优先搜索 | 卡码网:101.孤岛总面积_哔哩哔哩_bilibili

思路:

1.确认递归函数,参数

需要传入地图,需要知道当前我们拿到的key,以至于去下一个房间。

同时还需要一个数组,用来记录我们都走过了哪些房间,这样好知道最后有没有把所有房间都遍历的,可以定义一个一维数组。

2.确认终止条件

首先明确,本题中什么叫做处理,visited数组来记录访问过的节点,该节点默认数组里元素都是false,把元素标记为true就是处理本节点了。

如果我们是处理当前访问的节点,当前访问的节点如果是 true ,说明是访问过的节点,那就终止本层递归,如果不是true,我们就把它赋值为true,因为这是我们处理本层递归的节点

3.处理目前搜索节点出发的路径

本题是需要判断1节点是否能到所有节点,那么我们就没有必要回溯去撤销操作了,只要遍历过的节点一律都标记上。

(什么时候需要回溯操作,当我们需要搜索一条可行路径的时候,就需要回溯操作了,因为没有回溯,就没法"调头"。)

106.岛屿的周长

题目链接:106. 岛屿的周长

文章讲解:代码随想录

思路:

计算出总的岛屿数量,边的总的变数为:岛屿数量 * 4,

然后看陆地是否相邻,有一对相邻两个陆地,边的总数就要减2

相关推荐
朝朝辞暮i8 小时前
C++ 第 21 课:struct —— 把一组相关数据打包在一起
开发语言·c++·算法
青梅橘子皮8 小时前
Blue---二分算法(二分查找与二分答案)
算法
长河8 小时前
Java的GC(垃圾回收)中,标记无用对象的核心方法是可达性分析算法
java·jvm·算法
月光船幽幽8 小时前
加性偏移外推提升参数识别可靠性
python·算法
H.莓飛9 小时前
【数据结构】队列
linux·数据结构·centos
Ivanqhz9 小时前
层归一化、残差、前馈网络与激活函数简述
服务器·数据库·人工智能·深度学习·算法
不会就选b10 小时前
算法日常・每日刷题--<动态规划>3
数据结构·算法
H.莓飛10 小时前
【数据结构】队列_OJ题
linux·数据结构·centos
-dzk-10 小时前
【堆】LC 347.前 K 个高频元素
算法·堆
H.莓飛10 小时前
【数据结构】栈_OJ题
linux·数据结构·算法·centos