标签:attr which symbol blank dir function 试题 -- ali
n = 5:
isBadVersion(3) -> false
isBadVersion(5) -> true
isBadVersion(4) -> true
因此可以确定第四个版本是第一个错误版本。
public class Solution {
/**
*
*
*/
public int findFirstBadVersion(int n) {
int left = 1, right = n; // 左右边界
while (left + 1 < right){
int mid = left + (right - left) / 2;
// 判断mid是否为正确版本,如果是的话,那么说明错误版本在mid的右边,反之则在左边
if (SVNRepo.isBadVersion(mid)){
right = mid; // 向[left,mid]查找错误版本
}
else {
left = mid; // 向[mid,right]查找错误版本
}
}
// 最后判断下left是否是错误版本
if (SVNRepo.isBadVersion(left)){
return left;
}
return right;
}
}
[leetcode/lintcode 题解] Facebook面试题:第一个错误的代码版本
标签:attr which symbol blank dir function 试题 -- ali
原文地址:https://www.cnblogs.com/lintcode/p/13724055.html