278. 第一个错误的版本
思路:二分查找法
// The API isBadVersion is defined for you.
// bool isBadVersion(int version);
class Solution {
public:
int firstBadVersion(int n) {
int low = 0,high=n;
while(low<=high){// 循环直至区间左右端点相同
int middle = low+(high-low)/2;
bool flag = isBadVersion(middle);
if(flag==false) low = middle+1;
else high = middle-1; //收缩右边界,锁定左边界
}
// if(low > n) return -1; // 在此可以判断是否越界或者 left位置的值是否等于目标值等
return low;
}
};