题解的最后一次比较表述有问题。
1. 第四次比较:
* 此时 low = 9,high = 9
* 计算 mid = (low + high) / 2 = (9 + 9) / 2 = 9
* 比较 array[mid] = 30 与 31
* 因为 30 < 31,所以更新 low = mid + 1 = 10
查找失败:
最后: 此时 low = 10,high = 9,因为 low > high,查找失败btw 这里一般都默认条件是while(l<=r)
你如果用acwing给的二分模板,y总一般都是while(l<r),我也这种,就会少判断一次就会跳出循环。但那模板是对于二分答案的题目来讲的,而对于数组中寻找元素来说,最后一次仍然是有必要判断的,所以是四次比较没毛病。