二分找 24 要几步

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

在排好序的 [13, 15, 17, 23, 24] 里二分查找 24。运行下面这段程序,它数的是"比了几次":

def bsearch_steps(a, target):
    lo = 0
    hi = len(a) - 1
    steps = 0
    while lo <= hi:
        mid = (lo + hi) // 2
        steps += 1
        if a[mid] == target:
            return steps
        if a[mid] < target:
            lo = mid + 1
        else:
            hi = mid - 1
    return steps

print(bsearch_steps([13, 15, 17, 23, 24], 24))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论