多数写法:
int Mid = (L+R)/2;
存在弊端:L+R可能溢出,导致计算错误
优化:
int mid = L+(R-L)/2
再优化:
L+(R-L)>>1
位移效率高,但是代码量大了
>>: 右移一位
数学意义:
右移一位相当于除2,右移n位相当于除以2的n次方。
多数写法:
int Mid = (L+R)/2;
存在弊端:L+R可能溢出,导致计算错误
优化:
int mid = L+(R-L)/2
再优化:
L+(R-L)>>1
位移效率高,但是代码量大了
>>: 右移一位
数学意义:
右移一位相当于除2,右移n位相当于除以2的n次方。