1.哈希表
class Solution(object):
def findClosest(self, words, word1, word2):
"""
:type words: List[str]
:type word1: str
:type word2: str
:rtype: int
"""
l=len(words)
hasp_map={}
for i in range(l):
if hasp_map.get(words[i]) is None:
hasp_map[words[i]]=[i]
else:
hasp_map[words[i]].append(i)
data1=hasp_map.get(word1)
data2=hasp_map.get(word2)
min_gap=l
for i in range(len(data1)):
for j in range(len(data2)):
min_gap=min(min_gap,abs(data1[i]-data2[j]))
if min_gap==1:
break
return min_gap
class Solution(object):
def findClosest(self, words, word1, word2):
"""
:type words: List[str]
:type word1: str
:type word2: str
:rtype: int
"""
i1=i2=False
min_gap=len(words)
for i in range(len(words)):
if words[i]==word1:
ini_idx,i1=i,True
elif words[i]==word2:
las_idx,i2=i,True
if i1 and i2:
min_gap=min(min_gap,abs(ini_idx-las_idx))
return min_gap