关于图论【卡码网110.字符串迁移的思考】
📅 2026/7/29 17:00:07
👁️ 阅读次数
📝 编程学习
一、本题题目
二、本题代码
三、关键问题
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()
编程学习
技术分享
实战经验