二分查询算法
本系统经过多次升级改造,系统内核经过多次优化组合,已经具备相对比较方便快捷的个性化定制的特性,用户部署完毕以后,按照自己的运营要求,可实现快速定制会费管理,支持在线缴费和退费功能财富中心,管理会员的诚信度数据单客户多用户登录管理全部信息支持审批和排名不同的会员级别有不同的信息发布权限企业站单独生成,企业自主决定更新企业站信息留言、询价、报价统一管理,分系统查看分类信息参数化管理,支持多样分类信息,
0
def BinarySearch(a, target):
low = 0
high = len(a) - 1
while low <= high:
#在其它语言中,如果low + high的和大于Integer的最大值,比如2 ** 31 - 1,
#计算便会发生溢出,使它成为一个负数,然后被2除时结果仍为负数。在Java语言中,
#这个Bug导致一个ArrayIndexOutOfBoundsException异常被抛出,而在C语言中,
#你会得到一个无法预测的越界的数组下标。推荐的解决方法是修改中间值的计算过程,
#方法之一是用减法而不是加法——来实现:mid = low + ((high - low) / 2);或者,
#如果你想炫耀一下自己掌握的移位运算的知识,可以使用更快的移位运算操作,
#在Python中是mid = (low + high) >> 1,Java中是int mid = (low + high) >>> 1。
mid = (low + high) // 2
midVal = a[mid]
if midVal < target:
low = mid + 1
elif midVal > target:
high = mid - 1
else:
return mid
return -1
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号