69. x 的平方根

 1 class Solution 
 2 {
 3 public:
 4     int mySqrt(int x) 
 5     {
 6         double l = 0;
 7         double r = x;
 8 
 9         while(r - l > 1e-6)
10         {
11             double mid = (l + r)/2;
12             if(mid * mid >= (double)x) r = mid;
13             else l = mid;
14         }
15 
16         return r;
17     }
18 };

 

 1 class Solution 
 2 {
 3 public:
 4     int mySqrt(int x) 
 5     {
 6         int l = 0,r = x;
 7 
 8         while(l < r)
 9         {
10             int mid = (l + (long long)r + 1)/2;
11             if(mid <= x/mid) l = mid;
12             else r = mid - 1;
13         }
14         return l;
15     }
16 };

 

posted @ 2020-03-20 16:22  Jinxiaobo0509  阅读(133)  评论(0)    收藏  举报