First bad version
# https://leetcode-cn.com/problems/first-bad-version/
# The isBadVersion API is already defined for you.
# @param version, an integer
# @return an integer
# def isBadVersion(version):
class Solution:
def firstBadVersion(self, n):
"""
:type n: int
:rtype: int
"""
i = 1
j = n
while j - i > 1:
pivot = (j - i) // 2 + i
if isBadVersion(pivot):
j = pivot
else:
i = pivot + 1
if isBadVersion(i):
return i
else:
return j