一、题目
二、示例
三、代码
class Solution:
def sqrt(self , x ):
left = 1
right = x
while left <= right:
m = (left + right) // 2
if x // m > m:
left = m + 1
elif x // m < m:
right = m - 1
else:
return m
return left - 1
四、算法说明
建立左右指针;
根据x
与中间指针m
的商,更新左右指针的值;
如果中间指针m
刚好等于x
的平方根,返回m
;
否则返回left - 1
(向下取整)。
胡萝卜
2022年8月9日16:05:54
我不知道将去向何方,但我已在路上! |
---|
时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! |