-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathsqrtx.py
More file actions
33 lines (24 loc) · 747 Bytes
/
sqrtx.py
File metadata and controls
33 lines (24 loc) · 747 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
'''
Implement int sqrt(int x).
Compute and return the square root of x, where x is guaranteed to be a non-negative integer.
Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.
Example 1:
Input: 4
Output: 2
Example 2:
Input: 8
Output: 2
Explanation: The square root of 8 is 2.82842..., and since
the decimal part is truncated, 2 is returned.
'''
class Solution:
def mySqrt(self, x: int) -> int:
l,r = 0,x
while l <= x:
mid = l + (r-l)//2
if mid ** 2 <= x and (mid +1) ** 2 > x:
return mid
elif mid ** 2 < x :
l = mid + 1
else:
r = mid - 1