diff --git a/code/online_challenges/src/leetcode/Sqrt(x)/Sqrt(x).py b/code/online_challenges/src/leetcode/Sqrt(x)/Sqrt(x).py new file mode 100644 index 0000000000..6c5e173af1 --- /dev/null +++ b/code/online_challenges/src/leetcode/Sqrt(x)/Sqrt(x).py @@ -0,0 +1,28 @@ +# Part of Cosmos by OpenGenus Foundation + +def sqrt(x: int) -> int: + + """ + Returns the integer square root of x. + Example: print(sqrt(16)) => 4 + """ + + if x < 2: + return x + + left, right = 1, x // 2 + + while left <= right: + + mid = (left + right) // 2 + + if mid * mid == x: + return mid + + elif mid * mid < x: + left = mid + 1 + + else: + right = mid - 1 + + return right