关于图论【卡码网110.字符串迁移的思考】

一、本题题目

二、本题代码

三、关键问题

1、怎么把开始字符串和中间字符串以及结束字符串联系起来

(用uset和umap)

2、怎么计算最短路径长度

(用广搜)

// 广搜可以处理无权图的最短路径问题

四、整体思路

// 看一下把每个字母换了以后的新字符串是不是在uset里

// 如果在的话,在当前字符串的最短路径长度上面加1,插入到umap里

// 如果找到了结束字符,就返回当前字符串的最短路径长度加1

五、注意事项

1、不要漏东西

// 使用标准命名空间,这一行代码要写

2、数据是什么类型要标清楚

3、注意要使用下标,你得先有下标

4、注意边界处理

5、注意定义了队列以后,得先放一个数据进去

// 不然广搜没有搜索的基准

6、注意定义map的时候,内部存的是一个键值对

注意map的insert函数里面也是一个键值对,要用花括号{}

7、注意处理要完整,搞清楚每个东西的用处是什么

uset集合用来看是不是在字典里

que用来广搜

umap映射用来存开始字符串到中间字符串/结束字符串的最短路径长度

// 要广搜,每次找到一个在字典里的新字符串,除了要记录新字符串和最短路径长度以外,还要把新字符串放到队列里,为了能进行下一次广搜

8、注意队列的获取头元素用的是.front(),加入元素用的是.push()

// 其他的什么数组才是push_back()

相关推荐
Logic1011 小时前
C语言/数据结构位运算题解:异或XOR找出多任务下载器中的“独特下载速度“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Discipline10292 小时前
尼泊尔河流流量:天气驱动的预测与高流量风险
人工智能·算法
XuCoder2 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
算法
小羊没烦恼!2 小时前
在Scrum中实施敏捷建模
java·开发语言·windows·算法·c#
weixin_307779132 小时前
基于睿擎工业开发平台的预训练视觉模型轻量化适配与低代码部署优化
开发语言·算法
hold?fish:palm3 小时前
45 二叉树的右视图
开发语言·c++·算法
粤鼎恒业3 小时前
惠州工厂电子料回收厂家推荐:从交接单反推筛选标准
大数据·数据库·算法·硬件架构·硬件工程·pcb工艺·材料工程
小爷毛毛(卓寿杰)4 小时前
【Agent 意图识别】输出协议、评估与置信度
人工智能·算法·大模型·prompt·大语言模型·agent
优质酸酸乳4 小时前
力扣100题之21合并两个有序链表
算法·leetcode·链表
旖旎夜光4 小时前
LeetCode 137 : 只出现一次的数字 II(位运算) —— 题解
c++·笔记·学习·算法·leetcode·力控