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

105.有向图的完全可达性

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

文章讲解:代码随想录

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

思路:

1.确认递归函数,参数

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

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

2.确认终止条件

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

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

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

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

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

106.岛屿的周长

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

文章讲解:代码随想录

思路:

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

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

相关推荐
liuyao_xianhui3 分钟前
map和set_C++
java·开发语言·数据结构·c++·算法·宽度优先
墨^O^10 分钟前
C++ Memory Order 完全指南:从 relaxed 到 seq_cst,深入理解无锁编程与 happens-before
linux·开发语言·c++·笔记·学习·算法·缓存
6Hzlia22 分钟前
【Hot 100 刷题计划】 LeetCode 51. N 皇后 | C++ 回溯算法&状态数组
c++·算法·leetcode
脱氧核糖核酸__1 小时前
LeetCode热题100——41.缺失的第一个正数(题解+答案+要点)
数据结构·c++·算法·leetcode·哈希算法
脱氧核糖核酸__1 小时前
LeetCode热题100——73.矩阵置零(题目+题解+答案)
c++·算法·leetcode·矩阵
Mr_Xuhhh1 小时前
深入理解单链表的递归反转:从原理到实现
算法·leetcode·职场和发展
智者知已应修善业1 小时前
【51单片机数码管+蜂鸣器的使用】2023-6-14
c++·经验分享·笔记·算法·51单片机
迷途之人不知返1 小时前
算法类型:双指针类型
算法
吴可可1231 小时前
三点绘圆弧的几何实现
算法
kyle~1 小时前
导航---LIO(激光雷达-惯性里程计)算法
c++·算法·机器人·ros2·导航