PYTHON
def binary_search(arr, target):
"""
在有序数组 arr 中查找目标值 target 的索引。
如果找到,返回索引;否则返回 -1。
"""
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2 # 计算中间位置
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1 # 目标在右半部分
else:
right = mid - 1 # 目标在左半部分
return -1
# 示例用法
if __name__ == "__main__":
# 测试数据(必须有序)
sorted_list = [1, 3, 5, 7, 9, 11, 13, 15]
target = 7
index = binary_search(sorted_list, target)
if index != -1:
print(f"元素 {target} 找到,索引为 {index}")
else:
print(f"元素 {target} 不存在于列表中")
评论 (0)
登录后可以发表评论
立即登录还没有评论,快来发表第一条评论吧!