Search⌘ K
AI Features

Solution: Sqrt(x)

Explore how to compute the integer square root of a non-negative number using modified binary search. This lesson teaches you to efficiently narrow down the search space, handle edge cases, and implement a solution that runs in logarithmic time and constant space. You'll understand the step-by-step logic and reasoning behind this approach, essential for solving similar algorithmic challenges in coding interviews.

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] ...