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

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可能溢出,l+(r-l)/2 而不会

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

 

相关文章:

  • 2022-01-03
  • 2021-12-14
  • 2021-07-02
  • 2021-05-24
  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
猜你喜欢
  • 2021-07-07
  • 2021-08-06
  • 2021-04-28
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
  • 2022-12-23
相关资源
相似解决方案