105. 华为OD-两个字符串间的最短路径问题(200分)
难度 5- 标签:
题目描述
题解
题库
华为OD-两个字符串间的最短路径问题(200分)
题目内容
给定两个字符串,分别为字符串 与字符串 。
例如 字符串为 "ABCABBA", 字符串为 "CBABAC",可以得到下图 的二维数组,定义原点为 ,终点为 ,水平与垂直的每一条边距离为 ,映射成坐标系如下图。
从原点 到 为水平边,距离为 ,从 到 为垂直边,距离为 ;
假设两个字符串同一位置的两个字符相同,则可以作一个斜边,如 到 最短距离为斜边,距离同样为 。
作出所有的斜边如下图, 到 的距离为: 个水平边 个垂直边 个斜边 。
根据定义可知,原点到终点的最短距离路径如下图红线标记,最短距离为 :
输入描述
空格分割的两个字符串 与字符串
- 字符串不为"空串"
- 字符格式满足正则规则:
- 字符串长度
输出描述
原点到终点的最短距离
样例1
输入
ABC ABC
输出
3
样例2
输入
ABCABBA CBABAC
输出
9