当前位置: 首页 > news >正文

算法练习-回溯

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

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

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

2.

1.这是第一道题目

代码部分

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

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

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

2.return 0不可以漏。

第二题

代码部分

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

这里有几个注意点:

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

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

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

http://www.xdnf.cn/news/925525.html

相关文章:

  • 指针与函数参数传递详解 —— 值传递与地址传递的区别及应用
  • Postman测试学习(1)
  • ABAP EXCEL导入换行符
  • A Survey on the Memory Mechanism of Large Language Model based Agents
  • 【Go语言基础【12】】指针:声明、取地址、解引用
  • 策略模式实战:Spring中动态选择商品处理策略的实现
  • 软件测试—学习Day10
  • 开疆智能Ethernet/IP转Modbus网关连接MAG8000电池流量计配置案例
  • python版若依框架开发:集成Dash应⽤
  • 将 Elastic 的数据摄取转向 OpenTelemetry
  • SWE-Dev:开启自主特征驱动软件开发新纪元,重新定义大模型编码能力边界
  • 理解 RAG_HYBRID_BM25_WEIGHT:打造更智能的混合检索增强生成系统
  • 【Go核心编程】第十三章:接口与多态——灵活性的艺术
  • FUSSNet复现
  • vue注册自定义指令
  • 黄柏基因组-小檗碱生物合成的趋同进化-文献精读142
  • h5 安卓手机去掉滚动条问题
  • compose 组件 ---无ui组件
  • 基于TarNet、CFRNet与DragonNet的深度因果推断模型全解析
  • Python基于Django的文件销毁系统【附源码、文档说明】
  • Qwen 大模型-对话模板中system与user的区别解析
  • 并发编程实战(生产者消费者模型)
  • conda环境配置(二) —— 报错
  • QuickJS 如何发送一封邮件 ?
  • 区块链技术概述
  • Global Security Market知识点总结:主经纪商业务
  • 提高Python编程效率的工具推荐
  • Windows 系统安装 Redis 详细教程
  • 启程:为何选择PHP?
  • STM32学习笔记:定时器(TIM)原理与应用(详解篇)