# The isBadVersion API is already defined for you.
# @param version, an integer
# @return a bool
# def isBadVersion(version):
class Solution(object):
def firstBadVersion(self, n):
"""
:type n: int
:rtype: int
"""
if n <= 1:
return n
start = 1
end = n
middle = int((start + end) / 2)
while start <= end:
if isBadVersion(middle):
end = middle - 1
else:
start = middle + 1
middle = int((start + end) / 2)
return start