不断缩小空间,但是最后只有两个数的时候可能没法在缩小了,因为左中位数和i永远一样
def mySqrt(self, x: int) -> int:
i,j=0,x+2
while i<j:
mid=(i+j)//2+1 # 很重要,右中位数
square=mid*mid
if square>x:j=mid-1
else:i=mid
return i
网友评论