278. First Bad Version
First Bad Version
Solution
/* The isBadVersion API is defined in the parent class VersionControl.
boolean isBadVersion(int version); */
public class Solution extends VersionControl {
public int firstBadVersion(int n) {
int start = 1;
int end = n;
while (start + 1 < end) {
int middle = start + (end - start) / 2;
if (isBadVersion(middle)) {
end = middle;
} else {
start = middle;
}
}
if (isBadVersion(start)) {
return start;
}
if (isBadVersion(end)) {
return end;
}
return -1;
}
}Last updated