二分查找法的mid值 整数溢出问题

在二分查找中,之前对于中间mid值的计算用的是 $mid = ($left + $right)/2

以上计算没问题,但是存在bug

当$left+$right的值大于Interger的MAX_VALUE的时候会发生整形溢出的情况

对于以上bug,可使用$left+($right-$left)/2

利用数轴借助理解,假设$left和$right都是有限数轴上的值,第二种方法不会超过数轴,第一种有可能超出数轴,也就是上面说的整形溢出问题

猜你喜欢

转载自www.cnblogs.com/jongty/p/12046350.html