题目链接:LC 278. 第一个错误的版本
2020.10.12第一次解答:
解题思路:
典型的二分查找
// The API isBadVersion is defined for you.
// bool isBadVersion(int version);
class Solution {
public:
int firstBadVersion(int n) {
int l = 1, r = n;
while (l <= r) {
int mid = l + (r - l) / 2;
if (isBadVersion(mid) && !isBadVersion(mid - 1))
return mid;
else if (isBadVersion(mid)) {
r = --mid;
}
else {
l = ++mid;
}
}
return 1;
}
};