黑马程序员技术交流社区
标题:
在写binarySearch时,你还在用mid=(first+last)/2?也太low了!
[打印本页]
作者:
nblity007
时间:
2016-7-28 23:39
标题:
在写binarySearch时,你还在用mid=(first+last)/2?也太low了!
优化代码:mid = first+(last-first)/2;//first为数组左边界,last为右边界
也许你在疑惑,两个都是 first/2 + last/2 ,有什么区别?
百度了一下几乎所有的二分查找都是用 (first+last)/2,在教学、和练习时确实不能发现问题,但数据过大时就有麻烦了。
当 first+last 超过int表示范围后,一切都崩溃了。相反,用 last-first 则永远不会出现这种问题!
这种细节,是成为程序员中黑马的关键。
与君共勉!
作者:
nblity007
时间:
2016-7-29 21:36
多多交流~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2