题目:
方法:
首先构造一个dict,将list1遍历到dict中,key为字符,value为list1中字符串对应的索引
下一步看list2中的字符串是否在dict中,若在的话求索引之和
接下来判断索引之和,预设索引之和为2000
构造一个list存放最小索引字符串
若小于最小索引之和的话,清空list,将新的最小索引之和对应的字符串放入list
若等于最小索引之和,则将字符串append进list中
最后返回list
class Solution:
def findRestaurant(self, list1, list2):
"""
:type list1: List[str]
:type list2: List[str]
:rtype: List[str]
"""
dict1 = {}
min_index = 2000
result = []
for i in range(len(list1)):
dict1[list1[i]] = i
for i in range(len(list2)):
if list2[i] in dict1 and dict1[list2[i]] + i < min_index:
min_index = dict1[list2[i]] + i
result = []
result = [list2[i]]
elif list2[i] in dict1 and dict1[list2[i]] + i == min_index:
result.append(list2[i])
return result