题目:
方法:
首先构造一个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