https://leetcode.com/problems/first-bad-version/
class Solution:
def firstBadVersion(self, n: int) -> int:
start = 1
end = n
while start <= end:
middle = (start + end) // 2
if isBadVersion(middle):
end = middle - 1
else:
start = middle + 1
return start