leetcode-245-最短单词距离(找俩个有序数组中的差的最小值)

题目

给定一个单词列表和两个单词 word1 和 word2,返回列表中这两个单词之间的最短距离。

word1 和 word2 是有可能相同的,并且它们将分别表示为列表中两个独立的单词。

示例:
假设 words = [“practice”, “makes”, “perfect”, “coding”, “makes”].

输入: word1 = “makes”, word2 = “coding”
输出: 1
输入: word1 = “makes”, word2 = “makes”
输出: 3

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/shortest-word-distance-iii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

找俩个有序数组中的差的最小值

这道题和前面的easy版本没什么区别。唯一的区别在于找到俩个数组之后,需要计算他们的之间的最小插值。

最终抽象为就是找俩个有序数组中的差的最小值

while(i < vec1.size() && j < vec2.size())
{
     
	if(vec1[i] < vec2[j])
	{
     
		distance = min(distance, vec2[j] - vec1[i]);
		i++;
	}
	else{
     
		distance = min(distance, vec1[i] - vec2[j]);
		j++;
	}
}

leetcode-245-最短单词距离(找俩个有序数组中的差的最小值)_第1张图片

实际效果就是这么一个图,1-10为比较顺序,剩下的21,22都被抛弃了。没有比较的必要性了。

你可能感兴趣的:(leetcode)