Hello everyone , I'm Qi Guanjie (qí guān jié ), stay 【 Qi Guanjie 】 official account 、CSDN、GitHub、B Share some technical blog posts on the website and other platforms , It mainly includes front-end development 、python The backend development 、 Applet development 、 Data structure and algorithm 、docker、Linux Common operation and maintenance 、NLP And other related technical blog , Time flies , Future period , come on. ~
If you love bloggers, you can focus on the bloggers' official account. 【 Qi Guanjie 】(qí guān jié), The articles inside are more complete and updated faster . If you need to find a blogger, you can leave a message at the official account. , I will reply to the message as soon as possible .
This article was originally written as 【 Qi Guanjie 】(qí guān jié ), Please support the original , Some platforms have been stealing blog articles maliciously !!! All articles please pay attention to WeChat official account 【 Qi Guanjie 】.
Give you a nonnegative integer x
, Calculate and return x
Of Arithmetical square root .
Because the return type is an integer , Results are retained only Integral part , The decimal part will be Give up .
** Be careful :** No built-in exponential functions and operators are allowed , for example pow(x, 0.5)
perhaps x ** 0.5
.
Example 1:
Input :x = 4
Output :2
Example 2:
Input :x = 8
Output :2
explain :8 The arithmetic square root of is 2.82842..., Because the return type is an integer , The decimal part will be removed .
Tips :
0 <= x <= 231 - 1
class Solution:
def mySqrt(self, x: int) -> int:
l,r = 0,x
while l < r:
mid = l + r + 1>> 1
if mid*mid <= x:
l = mid
else:
r = mid - 1
return l