二分法查找有序数组中大于等于v的第一个数
程序员文章站
2024-03-16 14:34:46
...
题目要求:有序数组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
上一篇: 递归求1到100的和