Search⌘ K
AI Features

Solution: Sqrt(x)

Understand how to compute the floor of the square root of a non-negative integer using modified binary search. This lesson teaches you to optimize search space iteratively, handle edge cases, and implement an O(log n) time complexity approach without relying on built-in exponentiation.

Statement

Given a non-negative integer x, compute and return the square root of x rounded down to the nearest integer. The result must also be non-negative.

Built-in exponent functions or operators (e.g., pow(x, 0.5) in C++ or x ** 0.5 in Python) are not permitted.

Constraints:

  • 00 \leq x 2311\leq 2^{31} - 1

Solution

The key insight is that the integer square root of x lies somewhere in the range [1,x/2][1, x/2] ...