LeetCode
// Forward declaration of isBadVersion API.
bool isBadVersion(int version);
class Solution {
public:
int firstBadVersion(int n) {
int l=0,r=n;
while(l<r){
int mid = l+(r-l)/2;
if(!isBadVersion(mid)) l=mid+1;
else r=mid;
}
return r;
}
};
LintCode
class Solution {
public:
int findFirstBadVersion(int n) {
int l=0, r=n;
while(l<r){
int mid =l+(r-l)/2;
if(!SVNRepo::isBadVersion(mid)) l=mid+1;
else r=mid;
}
return r;
}
};