1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Solution { public: int firstBadVersion(int n) { int lo = 1, ho = n == 2147483647 ? n : n + 1, mid ; while(lo < ho) { mid = lo + (ho - lo) / 2; if(isBadVersion(mid)) { ho = mid; } else if (!isBadVersion(mid)) lo = mid + 1; } return lo; } };
|