278. 第一个错误的版本


C++

class Solution {
public:
    int firstBadVersion(int n) {
        int left = 1,right = n;
        while(left<right)
        {
            int middle = left+(right-left)/2;
            if(isBadVersion(middle))
                right=middle;
            else
                left=middle+1;
        }
        return left;
    }
};

二分查找 因题目默认肯定有错误,所有不用考虑找不到情况,若可能不存在,则left<=right;