🌗 278. 第一个错误的版本
2022年10月10日
- algorithm
🌗 278. 第一个错误的版本
难度: 🌗
问题描述
解法
/* The isBadVersion API is defined in the parent class VersionControl.
boolean isBadVersion(int version); */
public class Solution extends VersionControl {
public int firstBadVersion(int n) {
// 思路:
// 二分
return mySol(1, n);
}
private int mySol(int left, int right) {
// 递归终止条件
if(left >= right) {
return left;
}
if(isBadVersion(left)) {
return left;
}
int mid = left + ((right - left) >> 1);
if(isBadVersion(mid)) {
return mySol(left, mid);
} else {
return mySol(mid + 1, right);
}
}
}