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

105.有向图的完全可达性

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

文章讲解:代码随想录

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

思路:

1.确认递归函数,参数

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

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

2.确认终止条件

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

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

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

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

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

106.岛屿的周长

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

文章讲解:代码随想录

思路:

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

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

相关推荐
蒙奇D索大39 分钟前
【数据结构】图论核心应用:关键路径算法详解——从AOE网到项目管理实战
数据结构·笔记·学习·考研·算法·图论·改行学it
学c语言的枫子40 分钟前
数据结构——Dijkstra算法
数据结构·算法
Asmalin1 小时前
【代码随想录day 29】 力扣 860.柠檬水找零
算法·leetcode·职场和发展
wan5555cn1 小时前
AI视频生成技术:从想象到现实的视觉革命
人工智能·笔记·深度学习·算法·音视频
小狗照亮每一天3 小时前
【菜狗学聚类】序列嵌入表示、UMAP降维——20250930
算法·分类·聚类
彩云回5 小时前
支持向量机(SVM)
算法·机器学习·支持向量机
Asmalin10 小时前
【代码随想录day 29】 力扣 135.分发糖果
算法·leetcode·职场和发展
微笑尅乐10 小时前
多解法详解与边界处理——力扣7.整数反转
算法·leetcode·职场和发展
夏鹏今天学习了吗10 小时前
【LeetCode热题100(31/100)】K 个一组翻转链表
算法·leetcode·链表
薰衣草233310 小时前
力扣——位运算
python·算法·leetcode