二分查找算法

 

In [11]: def findnum(List,num,lo=0,hi=None): 
    ...:     if lo < 0: 
    ...:         raise ValueError('lo must be non-negative') 
    ...:     if hi is None: 
    ...:         hi = len(List) 
    ...:     while lo < hi: 
    ...:         mid = (lo + hi) // 2 
    ...:         if num < List[mid + 1]: 
    ...:             hi = mid 
    ...:         else: 
    ...:             lo = mid + 1 
    ...:     return lo 
输入列表、和想要查询的数字,返回下标

 

posted @ 2019-09-27 10:16  wygbbb  阅读(113)  评论(0编辑  收藏  举报