278 First Bad Version
[1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]
^# 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
"""
left, right = 1, n
while left < right:
mid = int(left + ((right - left) >> 1))
if not isBadVersion(mid): # search right
left = mid + 1
else: # search left
right = mid - 1
if isBadVersion(left):
return left
else:
return left + 1Last updated