二分是一个比较大的概念,广义上把东西(可能是问题,区间等等)一分为二都是二分. 这里讲二分查找. 据说只有10%的程序员能写对二分.虽然二分是一个简单的算法.但是其变化和细节却并不简单. 整数二分: 因为mid取整的问题,如果不细心有可能会死循环. 所以写二分查找需要仔细考虑 答案在开/闭区间?mid向上/下取整?循环结束条件?这些选择的取舍不同会导致二分的写法不同,没有说必须哪一种是正确的.掌握自己喜欢的写法即可. 这里的二分保证答案必须在[L,R]闭区间,循环借宿条件为(L==R),答案下标