一般二分取中值是这样取的
mid = (low + high) / 2
但是当low + high的值过大超过2的31次方会出现溢出问题,反映在leetcode上就是一直超时
所以正确的取中值应该防止溢出,如下
mid = low + ((high - low) >> 1 )
[leetcode题目链接](278. 第一个错误的版本 - 力扣(LeetCode) (leetcode-cn.com))
一般二分取中值是这样取的
mid = (low + high) / 2
但是当low + high的值过大超过2的31次方会出现溢出问题,反映在leetcode上就是一直超时
所以正确的取中值应该防止溢出,如下
mid = low + ((high - low) >> 1 )
[leetcode题目链接](278. 第一个错误的版本 - 力扣(LeetCode) (leetcode-cn.com))