class Solution:
def mySqrt(self, x: int) -> int:
if x == 0:
return 0
res = 1
for i in range(1, x + 1):
if i * i > x:
return res
res = i
return resclass Solution:
def mySqrt(self, x: int) -> int:
return int(sqrt(x))class Solution:
def mySqrt(self, x: int) -> int:
l, r = 0, x
res = 0
while l <= r:
m = l + (r - l) // 2
if m * m > x:
r = m - 1
elif m * m < x:
l = m + 1
res = m
else:
return m
return resclass Solution:
def mySqrt(self, x: int) -> int:
if x < 2:
return x
l = self.mySqrt(x >> 2) << 1
r = l + 1
return l if r ** 2 > x else rclass Solution:
def mySqrt(self, x: int) -> int:
r = x
while r * r > x:
r = (r + x // r) >> 1
return r