二分本身很好理解,但是放在不同题目中,就有很多细节要处理和注意,要根据题意来二分。
// Forward declaration of isBadVersion API.
bool isBadVersion(int version);
class Solution {
public:
int firstBadVersion(int n) {
int L = 1, R = n;
while(L<R){
int mid = L+(R-L)/2;
if(isBadVersion(mid))
R = mid;
else
L = mid+1;
}
return R;
}
};