diff --git a/searching/README.md b/searching/README.md index 557af48..db5a160 100644 --- a/searching/README.md +++ b/searching/README.md @@ -102,3 +102,37 @@ def binary_search_matrix(matrix, item, lower=0, higher=None): return False ``` + +
+ +--- + +### find the square root + +
+ +```python + +def sqrt(x) -> int: + + if x < 2: + return x + + left, right = 2, x // 2 + + while left <= right: + + mid = (right + left) // 2 + num = mid * mid + + if num > x: + right = mid - 1 + + elif num < x: + left = mid + 1 + + else: + return mid + + return right +```