1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Solution { public: int mySqrt(int x) { long min = 0, max = x; while (min <= max) { long mid = (min + max) / 2; long p = mid * mid; if (p == x) { return mid; } else if (p < x) { min = mid + 1; } else { max = mid - 1; } } return max; } };
|