思路: binary search,很简单。但是我是知道这题要用binary search的。我不确定如果我面试被问到这题会不会第一时间想到binary search。但是经我总结后,我觉得凡是array中涉及到search的问题,都要考虑binary search。直接展示代码:
/* 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 left = 1, right = n;
while(left < right){
int mid = left + (right - left) / 2;
if(this.isBadVersion(mid)){
right = mid;
}else{
left = mid + 1;
}
}
return left;
}
}
总结: 无