简介

二分查找经常搞不清楚边界问题,直接记录模板

code

public class Solution extends VersionControl {
    public int firstBadVersion(int n) {
        int low = 1;
        int high = n;
        int mid;
        while(low <= high){
            mid = low +(high - low) /2;
            if(isBadVersion(mid)){
                high = mid - 1; // 收缩右边界,锁定左边界             
            }else{
                low = mid + 1;
            }
        }
        // if(low > n) return -1; // 在此可以判断是否越界或者 left位置的值是否等于目标值等
        return low;
    }
}
posted on 2022-11-13 20:21  HDU李少帅  阅读(20)  评论(0编辑  收藏  举报