解答:运用python的dict快速创建hash索引
class Solution(object):
def findRestaurant(self, list1, list2):
pos1={v:pos for pos,v in enumerate(list1)} # 对list构建字典索引,键是数组的值,值是数组的下标
length=len(list2)+len(list1)
result=[]
mind=length # 初始化下标和为两个列表长度之和
for i,v in enumerate(list2): # 枚举列表2
j=pos1.get(v,length) # 若列表2的值在字典pos1中
if i+j < mind:#更新最小值 # 下标和小于当前mind,则更新最小值并把当前值最为最终返回值
result=[v]
mind=i+j
elif i+j==mind:#最小值一样
result.append(v) # 返回列表中追加数组值
return result