19.2.12 [LeetCode 69] Sqrt(x)

Implement int sqrt(int x).

Compute and return the square root of x, where x is guaranteed to be a non-negative integer.

Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.

Example 1:

Input: 4
Output: 2

Example 2:

Input: 8
Output: 2
Explanation: The square root of 8 is 2.82842..., and since 
             the decimal part is truncated, 2 is returned.
 1 class Solution {
 2 public:
 3     int mySqrt(int x) {
 4         int s = 0, e = sqrt(INT_MAX);
 5         while (s <= e) {
 6             int mid = (s + e) / 2;
 7             if (mid*mid <= x) 
 8                 s = mid + 1;
 9             else 
10                 e = mid - 1;
11         }
12         return e;
13     }
14 };
View Code

 

posted @ 2019-02-12 22:04  TobicYAL  阅读(276)  评论(0编辑  收藏  举报