74.First Bad Version
1.Description(Easy)
Notice
isBadVersion(3) ->false
isBadVersion(5) -> true
isBadVersion(4) -> true2.Code
public int findFirstBadVersion(int n) {
if(n<=0){
return -1;
}
int start=1;
int end=n;
while(start+1<end){
int mid=start+(end-start)/2;
//can not use isBadVersion too many times
if(SVNRepo.isBadVersion(mid)){
end=mid;
}
else{
start=mid;
}
}
if(SVNRepo.isBadVersion(start)==true){
return start;
}
if(SVNRepo.isBadVersion(end)==true){
return end;
}
return -1;
}Last updated