讨论/《初级算法》 - 第一个错误的版本/
《初级算法》 - 第一个错误的版本

这种是让每次的搜索区间取左开右闭(对应left<right的判断条件),然后最后的left肯定是等于right。所以right取mid。
还有一种区间的取法是两边都开(对应left<=right的判断条件),此时right应该取mid-1,left取mid+1,当left=right+1时弹出循环,所以也是返回left

展开全部 31 讨论