题意:
         求x 的平方根(向下取整)。


方法一:
模拟

思路:
        循环遍历 ,找到  的平方是大于 ,返回.


class Solution {
public:
    
    int mysqrt(int x) {
        int i=1;
        for(;i*i<=x;i++);//当i*i>x时,返回i-1
        return i-1;
    }
};

时间复杂度:
空间复杂度:

方法二:
二分

思路:
        数值   的开方范围肯定在
        对这个区间内二分查找,即可找到答案。
        
class Solution {
public:
    
    int mysqrt(int x) {
        if(x==1)
            return 1;
        long long l=1,r=x,mid;
        while(l<r){
            mid=(l+r)/2;//二分
            if(mid*mid>x)//如果大于x,则r=mid
                r=mid;
            else//否则l=mid+1
                l=mid+1;
        }
        return (int)l-1;
    }
};



时间复杂度:
空间复杂度: