4/09/2014

Leetcode -- Sqrt(x)

 class Solution {  
 public:  
   int sqrt(int x) {  
     if(x < 1) {  
       return 0;  
     }  
     long long start = 1;  
     long long end = x;  
     while(start < end - 1) {  
       long long middle = (start + end) / 2;  
       long long sqr = middle * middle;  
       if(sqr == x) {  
         return middle;  
       } else if (sqr > x) {  
         end = middle ;  
       } else {  
         start = middle;  
       }  
     }  
     return start;  
   }  
 };   

No comments: