Given an array of strings
wordsDict and two different strings that already exist in the array word1 and word2, return the shortest distance between these two words in the list.Example 1:
Input: wordsDict = [“practice”, “makes”, “perfect”, “coding”, “makes”], word1 = “coding”, word2 = “practice”
Output: 3
Example 2:
Input: wordsDict = [“practice”, “makes”, “perfect”, “coding”, “makes”], word1 = “makes”, word2 = “coding”
Output: 1
Constraints:
`1 <= wordsDict.length <= 3 104
*1 <= wordsDict[i].length <= 10*wordsDict[i]consists of lowercase English letters.
*word1andword2are inwordsDict.
*word1 != word2`题目大意:
求单词列表中给定的两个单词的最短下标距离
解题思路:
同向双指针
解题步骤:
N/A
注意事项:
- 同向双指针,分别指向两单词,计算结果时必须是找到才比较
Python代码:
1 | def shortestDistance(self, wordsDict: List[str], word1: str, word2: str) -> int: |
算法分析:
时间复杂度为O(n),空间复杂度O(1)


