题目要求:有序数组L,利用二分法查找数组中第一个大于等于v的数,如果不存在,则返回-1
def findFirst(L, k):
if not L or L[-1] < k:
return -1
start = 0
end = len(L) - 1
while start < end:
if L[start] >= k:
return start
mid = (end + start) // 2
if L[mid] < k:
start = mid + 1
else:
end = mid
return end
网友评论