比如定义 low = INT_MAX -1,high = INT_MAX,那么就会导致 (low + high) 会超出 int 的取值范围。但是力扣704.二分查找n的范围是[1,10000],(low+high)始终在int可取范围内,所以不用防溢出也可以的。
low + ((high -low) >> 1) 与 low + ((high -low)/2)防溢出
于 2023-02-08 21:07:06 首次发布
比如定义 low = INT_MAX -1,high = INT_MAX,那么就会导致 (low + high) 会超出 int 的取值范围。但是力扣704.二分查找n的范围是[1,10000],(low+high)始终在int可取范围内,所以不用防溢出也可以的。