
使用二分查找
class Solution(object):
def mySqrt(self, x):
"""
:type x: int
:rtype: int
"""
if x <= 1:
return x
left = 0
right = x
mid = (left + right) // 2
while left <= right:
if mid * mid == x:
return mid
elif mid * mid < x:
left = mid + 1
else:
right = mid - 1
mid = (left + right) // 2
return mid
本文介绍了一种使用二分查找算法来寻找整数平方根的方法。通过定义一个类Solution并实现mySqrt方法,该方法接受一个整数x作为输入,并返回其平方根的整数部分。如果x小于等于1,则直接返回x。算法通过设定左右边界进行迭代查找,直到找到满足条件的中点或者无法继续缩小搜索范围。

被折叠的 条评论
为什么被折叠?



