二分查找mid定义注意事项
最近刷leetcode的时候,发现一些二分查找相关的题解都将mid
这样定义:mid = (right - left) / 2 + left
这样是为了防止溢出,如果我们写成mid = (right + left) / 2,那么当right和left非常大的时候,它们的和可能会大于TMax造成溢出
在解决LeetCode等算法题目时,遇到二分查找问题,采用`(right + left) / 2`定义mid可能导致整型溢出。为确保计算正确性,通常使用`(right - left) / 2 + left`来定义mid。这种方法在right和left数值较大时能有效防止溢出,保证算法的正确执行。
最近刷leetcode的时候,发现一些二分查找相关的题解都将mid
这样定义:mid = (right - left) / 2 + left
这样是为了防止溢出,如果我们写成mid = (right + left) / 2,那么当right和left非常大的时候,它们的和可能会大于TMax造成溢出
1700
542
3683

被折叠的 条评论
为什么被折叠?