二分查找的小bug Macros 2019-10-12 270 阅读1分钟 这两种二分查找去吧只有一行代码(第6行) 左图中的方法当mid超过2E32 -1 后就会溢出 变成一个负数 为什么会溢出? 假设你有一个大小为231-1的数组(有符号的32位整数的最大值),含有从1、2、3...到231-1的元素(按增加的顺序)。假设target(有待查找的元素)是231-2(倒数第二个元素): * 在第一次迭代 于是,查找空间缩减至数组的第二半: 现在,在第二次迭代中,我们计算新的mid为: 由于总和超过231,结果导致溢出