278_FirstBadVersion - a920604a/leetcode GitHub Wiki
title: 278. First Bad Version
tags:
- Binary Search
categories: leetcode
comments: false
solution
// The API isBadVersion is defined for you.
// 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-1;
else if(!isBadVersion(mid)) l = mid+1;
}
return l;
}
};
// The API isBadVersion is defined for you.
// 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 l;
}
};
analysis
- time complexity
O(logn)
- space complexity
O(1)