二分查找总结
问题:到底start=mid,还是start=mid+1
end = mid,还是end=mid-1
到底循环条件是(start<=end)还是(start< end)还是(end-start)>1结论:
- 当所要找的位置在左边,或者右边但是不可能是mid所指的点的时候,使用start=mid+1(在右边区域,且不可能包含mid所指);end=mid-1(在左边区域,且不可能为mid所指);具体可以比较以下两个链接中的二分查找。
- 当start=mid+1,且end=mid-1来循环时;循环条件是(start<=end)
如:http://blog.csdn.net/hellotomhaha/article/details/54974443- 当一边包含mid,一边不包含mid时,循环条件(start< end)
如:http://blog.csdn.net/hellotomhaha/article/details/54985475- 当两边都不包含mid时,循环条件是(end-start)>1,如本题。
https://leetcode.com/submissions/detail/92511460/