使用二分查找算法,在有序列表中查找第一个超过阈值的值的索引。以下是Python代码示例:
def find_index_above_threshold(ordered_list, threshold):
"""
在有序列表中查找第一个超过阈值的值的索引
"""
left = 0
right = len(ordered_list) - 1
while left <= right:
mid = (left + right) // 2
if ordered_list[mid] > threshold:
if mid == 0 or ordered_list[mid - 1] <= threshold:
return mid
right = mid - 1
else:
left = mid + 1
return -1 # 如果没有超过阈值的值,返回-1
使用示例:
ordered_list = [1.2, 3.4, 5.6, 7.8, 9.0]
threshold = 5.0
index = find_index_above_threshold(ordered_list, threshold)
print(index) # 输出2
下一篇:按顺序排列的流(使用比较器)