class Solution:
def firstBadVersion(self, n):
"""
:type n: int
:rtype: int
"""
L = 1
R = n
while L<R:
mid=int(L+(R-L)/2)
if (isBadVersion(mid)):
R=mid
else:
L=mid+1
return L
二分查找中mid如果采用(L+R)/2的形式容易出现溢出情况。因为当L+R时其大小有可能超出int的范围。