二分查找:记一次问题中的 int 类型的整形溢出

在二分查找中,选择取中值时,mid

mid = (low + high) / 2

假设值为整数,int类型的数值范围在-2的31次方到2的31次方-1:[-2^31, 2^31-1].

如果两个整形数相加,最大就是 (2^31-1) + (2^31-1),会导致 整形溢出

所以修改一下:

mid = low + (high - low) / 2

 

 

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页