算法练习-回溯

今天开始新的章节,关于算法中回溯法的练习,这部分题目的难度还是比较大的,但是十分锻炼人的思维与思考能力。

处理这类题目首先要注意几个基本点:

1.关于递归出口的设置,这是十分关键的,要避免死循环的产生。

1.这是第一道题目

代码部分

这一道题很创新地引入了时间戳这一概念,这是用来记录节点关联问题之间的记录,可以通过时间戳来记录访问的顺序以此来统计在一个范围内节点的个数。

关于代码还有几个注意点:

1.关于mindfn的选用,将第一个开始记录的节点作为mindfn的首节点,这是为了防止第二个遍历开始,若访问到第一个环里面将无法构成一个完整的环状。

2.return 0不可以漏。

第二题

代码部分

第二道题是标准的dfs模型:

这里有几个注意点:

1.对于岛屿可以用scc颜色来染色以此来做相关标记。

2.注意(col[x][y]||mp[i][j]=='.')这里容易忽略col[x][y]这会造成遍历时左右两点来回横跳,造成影响。

好了今天的分享就到这里,希望大家可以多多关注哦。

相关推荐
熊文豪2 分钟前
探索CANN ops-nn:高性能哈希算子技术解读
算法·哈希算法·cann
熊猫_豆豆19 分钟前
YOLOP车道检测
人工智能·python·算法
艾莉丝努力练剑34 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
偷吃的耗子1 小时前
【CNN算法理解】:CNN平移不变性详解:数学原理与实例
人工智能·算法·cnn
dazzle2 小时前
机器学习算法原理与实践-入门(三):使用数学方法实现KNN
人工智能·算法·机器学习
那个村的李富贵2 小时前
智能炼金术:CANN加速的新材料AI设计系统
人工智能·算法·aigc·cann
张张努力变强2 小时前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
万岳科技系统开发2 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
张登杰踩2 小时前
MCR ALS 多元曲线分辨算法详解
算法
YuTaoShao3 小时前
【LeetCode 每日一题】3634. 使数组平衡的最少移除数目——(解法一)排序+滑动窗口
算法·leetcode·排序算法