记一个二分查找的小问题

124 阅读1分钟

一般二分取中值是这样取的

mid = (low + high) / 2

但是当low + high的值过大超过2的31次方会出现溢出问题,反映在leetcode上就是一直超时

所以正确的取中值应该防止溢出,如下

mid = low + ((high - low) >> 1 )

[leetcode题目链接](278. 第一个错误的版本 - 力扣(LeetCode) (leetcode-cn.com))