一个原则:
1). 根据边界收缩情况写对应的 mid 计算公式,看见 left = mid + 1 就写 mid 下取整:mid=(left+right)/2、看见 left = mid 就写 mid 上取整:mid=(left+right+1)/2;
2). 计算 mid 时,需要将左边界 left 和右边界 right 相加再除以2,当 left 和 right 数值都很大时、int 可能会溢出、所以采用 mid = left + (right - left) / 2 或者mid = left + (right - left+1) / 2这种写法,就不会溢出了
(https://www.bilibili.com/video/BV1Ng4y1q7E3?from=search&seid=7150569225233014790)
b站这个up主讲的非常细
【leetcode笔记】二分法
最新推荐文章于 2022-04-23 17:04:11 发布