这个问题我觉得可以使用中间元素与目标元素进行比较,逐步缩小搜索范围直至找到目标元素或确定其不存在
可以参考下示例代码:
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right)
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1 # 如果元素不在数组中,则返回 -1
# 示例用法
nums = [2, 4, 6, 8, 10, 12, 14, 16]
target = 10
result = binary_search(nums, target)
print(f"元素 {target} 在数组中的索引为:{result}")