599. Minimum Index Sum of Two Lists

#Runtime: 64 ms
class Solution:
def findRestaurant(self, list1, list2):
"""
:type list1: List[str]
:type list2: List[str]
:rtype: List[str]
"""
d = {l:i for i,l in enumerate(list1)}
sm = {l:i+d[l] for i,l in enumerate(list2) if l in d}
mn = min(v for v in sm.values())
return [k for k,v in sm.items() if v == mn]


#Runtime: 72 ms
class Solution(object):
def findRestaurant(self, list1, list2):
if len(list1) > len(list2):
return self.findRestaurant(list2, list1)

d = {s: i for i, s in enumerate(list1)}

minIdxSum = float('inf')
res = []
for i, s in enumerate(list2):
if s in d:
idxSum = d[s] + i
if idxSum < minIdxSum:
minIdxSum = idxSum
del res[:]
res.append(s)
elif idxSum == minIdxSum:
res.append(s)

return res


#Runtime: 104 ms
class Solution(object):
def findRestaurant(self, list1, list2):
"""
:type list1: List[str]
:type list2: List[str]
:rtype: List[str]
"""
ls1_enu={value:index for index, value in enumerate(list1)}
best=1e9
res=[]
for i,v in enumerate(list2):
if v in ls1_enu:
if ls1_enu[v]+i<best:
best=ls1_enu[v]+i
res=[v]
elif ls1_enu[v]+i==best:
best=ls1_enu[v]+i
res.append(v)
return res


#Runtime: 128 ms
class Solution(object):
def findRestaurant(self, list1, list2):
"""
:type list1: List[str]
:type list2: List[str]
:rtype: List[str]
"""
res=1e9
output=[]
for i in set(list1).intersection(list2):
index_sum=list1.index(i)+list2.index(i)
if index_sum<res:
res=index_sum
output=[i]
elif index_sum==res:
res=index_sum
output.append(i)
return output


#Runtime: 276 ms


class Solution(object):
def findRestaurant(self, list1, list2):
"""
:type list1: List[str]
:type list2: List[str]
:rtype: List[str]
"""
l1=len(list1)
l2=len(list2)
res=l1+l2-2
cnt=0
if l1 > l2:
ls1=list1
ls2=list2
else:
ls1=list2
ls2=list1

for i in range(len(ls1)):
if ls1[i] in ls2:
cnt+=1
index_sum=(i+ls2.index(ls1[i]))
if cnt==1:
res=index_sum
output=[ls1[i]]
else:
if index_sum<res:
res=index_sum
output=[ls1[i]]
elif index_sum==res:
res=index_sum
output.append(ls1[i])
return output

猜你喜欢

转载自www.cnblogs.com/ffeng0312/p/9644382.html