简介
二分查找经常搞不清楚边界问题,直接记录模板
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;
}
}
---------------------------我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。我从来就没有太阳,所以不怕失去。
--------《白夜行》