算法练习-回溯
今天开始新的章节,关于算法中回溯法的练习,这部分题目的难度还是比较大的,但是十分锻炼人的思维与思考能力。
处理这类题目首先要注意几个基本点:
1.关于递归出口的设置,这是十分关键的,要避免死循环的产生。
2.
1.这是第一道题目
代码部分
这一道题很创新地引入了时间戳这一概念,这是用来记录节点关联问题之间的记录,可以通过时间戳来记录访问的顺序以此来统计在一个范围内节点的个数。
关于代码还有几个注意点:
1.关于mindfn的选用,将第一个开始记录的节点作为mindfn的首节点,这是为了防止第二个遍历开始,若访问到第一个环里面将无法构成一个完整的环状。
2.return 0不可以漏。
第二题
代码部分
第二道题是标准的dfs模型:
这里有几个注意点:
1.对于岛屿可以用scc颜色来染色以此来做相关标记。
2.注意(col[x][y]||mp[i][j]=='.')这里容易忽略col[x][y]这会造成遍历时左右两点来回横跳,造成影响。
好了今天的分享就到这里,希望大家可以多多关注哦。