Sqrt(x)
Implement int sqrt(int x).
Compute and return the square root of x.
Analysis
- 二分法
 - 注意不能使用low<high,否则x=1的时候不work
 - while跳出时可能情况
- 1: low+1==end,此时由于sqrt取整,所以一定返回low
 - 2: end==1 || end==2?
 
 
Code
public class Solution {
    public int mySqrt(int x) {
        if(x==0) {return 0;}
        int low=1, high=x;
        while(low+1<high){
            int mid = low + (high-low)/2;
            if (mid>x/mid) {high = mid;}
            else {low = mid;}
        }
        return low;
    }
}