class WordDistance(object): def __init__(self, words): """ initialize your data structure here. :type words: List[str] """ self.h = collections.defaultdict(list) for i in range(len(words)): self.h[words[i]].append(i) def shortest(self, word1, word2): """ Adds a word into the data structure. :type word1: str :type word2: str :rtype: int """ minlen = sys.maxint for x in self.h[word1]: for y in self.h[word2]: minlen = min(abs(x-y), minlen) return minlen # Your WordDistance object will be instantiated and called as such: # wordDistance = WordDistance(words) # wordDistance.shortest("word1", "word2") # wordDistance.shortest("anotherWord1", "anotherWord2")
Easy Python Solution
Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.