【发布时间】:2021-12-28 03:37:52
【问题描述】:
AirBNB 有一个面试问题:
你有一个排序数组,你想通过 python 中的函数获取元素匹配出现的第一个索引和最后一个索引。如果没有匹配,则返回 [-1.-1]。如果有匹配,则返回 [first_index,last_index]。
这是我的新手解决方案,谁能想出更好的解决方案?
顺便说一句,这个问题来自 TechLead DailyInterviewPro。
def solution(array,key):
start_index = -1
ending_index = -1
if key not in array:
return [start_index,ending_index]
else:
for i in range(len(array)):
if array[i]==key:
if start_index == -1:
start_index = i
ending_index = i
else:
ending_index = i
return [start_index,ending_index]
【问题讨论】:
-
如果你正在准备编码,那么我建议你去
Leetcode -
@khelwood:
list没有rindex;str提供index和rindex(以及类似的find和rfind),但list只提供index。 -
@ShadowRanger 我的立场是正确的。