Problem description :
The sample input :
The code is as follows :
class Solution(object):
def findClosest(self, words , word1="", word2=""):
""" There's a huge text file with words , Given any two different words , Find the shortest distance between the two words in this file ( Number of words separated ). If the search process is repeated many times in this file , And each time I look for a different word , Can you optimize this ? :type words: List[str] :type word1: str :type word2: str :rtype: int """
res = len(words)
for i in range(len(words)):
if words[i] == word1:
temp = words[i:]
if temp.count(word2):
a = temp.index(word2)+i
if a-i < res:
res = a-i
elif words[i] == word2:
temp = words[i:]
if temp.count(word1):
a = temp.index(word1)+i
if a - i < res:
res = a - i
return res
if __name__ == '__main__':
res = Solution().findClosest(words = ["I","am","a","student","from","a","university","in","a","city"], word1 = "a", word2 = "student")
print(res)
give the result as follows :
全文鏈接:http://tecdat.cn/?p=28031
This question should ask for t