题目
思路
代码
# 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
"""
left, right = 0, n
while left + 1 < right:
mid = left + (right - left) // 2
if isBadVersion(mid):
# 是坏的,第一次出现坏的在左半部分
right = mid
else:
# 是好的,坏的在右半部分,去右半部分查找
left = mid + 1
return left if isBadVersion(left) else right