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

105.有向图的完全可达性

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

文章讲解:代码随想录

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

思路:

1.确认递归函数,参数

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

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

2.确认终止条件

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

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

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

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

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

106.岛屿的周长

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

文章讲解:代码随想录

思路:

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

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

相关推荐
天天扭码21 分钟前
一分钟解决 | 高频面试算法题——滑动窗口最大值(单调队列)
前端·算法·面试
tan77º43 分钟前
【算法】BFS-解决FloodFill问题
算法·leetcode·宽度优先
知识烤冷面1 小时前
【力扣刷题实战】找到字符串中所有字母异位词
数据结构·算法·leetcode
XiaoyaoCarter1 小时前
每日两道leetcode
c++·算法·leetcode·职场和发展·贪心算法
LIU_Skill1 小时前
SystemV-消息队列与责任链模式
linux·数据结构·c++·责任链模式
青瓦梦滋1 小时前
【算法】双指针8道速通(C++)
数据结构·算法·leetcode
程序员-King.1 小时前
day48—双指针-通过删除字母匹配到字典最长单词(LeetCode-524)
算法·leetcode·双指针
.格子衫.1 小时前
011数论——算法备赛
算法
Conan х1 小时前
进阶篇 第 6 篇:时间序列遇见机器学习与深度学习
人工智能·python·深度学习·算法·机器学习·数据分析
Y1nhl1 小时前
搜广推校招面经七十九
人工智能·算法·机器学习·推荐算法·搜索算法·lgb