小编use*_*971的帖子

用python实现二分查找

我想我做的一切都是正确的,但是如果值不存在,基本情况返回 None,而不是 False。我不明白为什么。

def binary_search(lst, value):
    if len(lst) == 1:
        return lst[0] == value

    mid = len(lst)/2
    if lst[mid] < value:
        binary_search(lst[:mid], value)
    elif lst[mid] > value:
        binary_search(lst[mid+1:], value)
    else:
        return True

print binary_search([1,2,4,5], 15)
Run Code Online (Sandbox Code Playgroud)

python algorithm python-2.x

1
推荐指数
1
解决办法
4492
查看次数

标签 统计

algorithm ×1

python ×1

python-2.x ×1