二分算法

二分算法的前提是给的数据是有序的

def func(lst, target):
    left = 0
    right = len(lst) - 1
    while left <= right:
        mid = (left + right) // 2
        if lst[mid] < target:
            left = mid + 1
        elif lst[mid] > target:
            right = mid
        else:
            return mid
    return False

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,...
    他在发呆阅读 577评论 0 0
  • 二分算法也是面试必备的算法,主要维护具有单调性质的序列,经常被迁移到知识点有中位数。。。 这个版蛮好用的,基本不会...
    风之羁绊阅读 301评论 0 0
  • 累爬……
    白泥沙阅读 155评论 0 0
  • 人活着,总要难免犯错,不经意间就暴露了自己的弱点,小孩子常犯错,家长为其纠正,老师也及时给予纠正。每个人都犯过错误...
    王海波w阅读 649评论 0 3
  • 2018年8月11日星期六晴 昨晚小女儿把她的自行车推出来擦干净,说早上自己骑车去厂里。早上小女儿自己...
    人生茶滋味阅读 165评论 0 2