E-599. Minimum Index Sum of Two Lists
# O(M+N), O(M) or O(M*x) x是字符串平均长度
import collections
class Solution:
def findRestaurant(self, list1: List[str], list2: List[str]) -> List[str]:
a_map = {v:i for i,v in enumerate(list1)}
res = []
min_sum = float('inf')
for i, rest in enumerate(list2):
if rest in a_map:
if i + a_map[rest] < min_sum:
min_sum = i + a_map[rest]
res = [rest]
elif i + a_map[rest] == min_sum:
res.append(rest)
return res
Last updated
Was this helpful?