int mid = l + (r - l) / 2 防止溢出

1、 int mid = l + (r - l) / 2 int mid = l + ((r - l)>>1)  如果/2写成>>1的话,>>的优先级别比较低((r - l)>>1)需要括号。 (l + r)/2 l + r可能会溢出int的最大范围 l + (r - l) / 2 减法替代了加法 l=-200,r=-99时 (l+r)/2=-149 l+(r-l)/2 =-150 (l+r)/2
相关文章
相关标签/搜索