在二分查找中,选择取中值时,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
在二分查找中,选择取中值时,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