二分法模版,适用于各种二分法问题。
lo+1<hi 让最后结果得到两个candidate供我们选择
mid = lo + (hi - lo)/2; 防止越界问题。
check那部分是我们遇到大多数二分问题需要考虑的部分。

    int lo = 0;
    int hi = nums.length - 1;
    while (lo + 1 < hi) {
        int mid = lo + (hi - lo) / 2;
        if (check) {
          //do something 
        } 
    }

    if (nums[hi] == target) {
        return hi;
    }
    if (nums[lo] == target) {
        return lo;
    }

results matching ""

    No results matching ""