First Bad Version
First Bad version⌗
Question
You are a product manager, here is a array from 1 to n about the version in your product. you want to find the first bad version
there is one provided function:
bool isBadVersion(version)
which will return whether version is bad. Implement a function to find the first bad version. You should minimize the number of calls to the API.
Example:
Given n = 5 and version 4 is the first bad version.
class Solution:
def firstBadVersion(self,n):
"""
:type n: int
:rtype: int
"""
Analysis:
here is a simple search question, we can use iteration all elements but that will cause runtime error
- binary search is one of the solutions
public int firstBadVersion(int n){
int start = 1, end = n;
while(start < end){
int mid = start + (end - start) / 2;
if (!isBadverison(mid)) start = mid + 1
else end = start
}
return start
}
binary search
Read other posts