二分查找实现似乎没有考虑整形溢出
来源:3-2 改变变量定义,依然可以写出正确的算法

超级小帅兔
2019-06-25
波波老师,讲解很赞。但二分查找实现中对于求mid索引,code是 int mid = (l + r) / 2
但这样存在整形最大值溢出问题,更鲁棒解法如下:
int mid = l + (r - l) / 2;
如理解有误,请帮忙指出
写回答
1回答
-
超级小帅兔
提问者
2019-06-25
发现后面已有正确答案,抱歉我看的是前一节。请忽略我这个疑问
042022-03-14
相似问题