华为OD统一考试A卷+B卷 新题库说明
2023年5月份,华为官方已经将的 2022/0223Q(1/2/3/4)统一修改为OD统一考试(A卷)和OD统一考试(B卷)。
你收到的链接上面会标注A卷还是B卷。请注意:根据反馈,目前大部分收到的都是B卷。但是仍有概率抽到A卷。
A卷对应2023的新题库(2022Q4 20223Q1) B卷对应20022部分考题以及新出的题目
专栏:2023华为OD机试(A卷+B卷)(C++JavaJSPy)
题目描述
无
输入描述
输入一个字符串,都是以大写字母组成,每个相邻的距离是 1,
第二行输入一个字符串,表示必过的点。
说明每个点可过多次。
输出描述
经过这些必过点的最小距离是多少
用例
输入 | ANTSEDXQOKPUVGIFWHJLYMCRZB |
输出 | 28 |
说明 | 无 |
题目解析
这个题目是一个路径搜索问题,具体来说,是在一个字符串中寻找一条经过特定字符的最短路径。
输入包括两行字符串。第一行字符串由大写字母组成,每个字符可以看作是一个点,相邻字符之间的距离为1。第二行字符串指定了一些必须经过的点(字符)。
题目要求找出一条路径,这条路径必须经过所有在第二行字符串中指定的点,而且总距离要尽可能的小。注意,每个点可以经过多次,但在计算总距离时,每次经过都会计算其距离。
例如,输入为:
ANTSEDXQOKPUVGIFWHJLYMCRZB
ABC
输出为:
28
解释:在第一个字符串中,字母A的位置是0,字母B的位置是25,字母C的位置是24。所以,经过这些必过点的最小距离是 |0-25| + |25-24| = 28。
DFS (深度优先搜索) 是