278. 第一个错误的版本(简单,二分查找)
作者:互联网
题目链接:278. 第一个错误的版本
思路:二分查找
class Solution {
public:
int firstBadVersion(int n) {
int left = 1;
int right = n;
while (left < right) { // 循环直至区间左右端点相同
int mid = left + (right - left) / 2; // 防止计算时溢出
if (isBadVersion(mid)) {
right = mid; // 答案在区间 [left, mid] 中
}
else {
left = mid + 1; // 答案在区间 [mid+1, right] 中
}
}
// 此时有 left == right,区间缩为一个点,即为答案
return left;
}
};
标签:二分,right,int,mid,区间,查找,278,left 来源: https://blog.csdn.net/qq_39236499/article/details/121106593