二分查找

点击这里查看配套的教学视频

点击跳转到算法课程所有目录

1 leetcode 69. x 的平方根

c语言实现:

int mySqrt(int x)
{
    int small = 0;
    int big = x;
    int ret = -1;
    while (small <= big) {
        int mid = (small+big)/2;
        if ((long long)mid * mid <= x) {
            ret = mid;
            small = mid+1;
        } else {
            big = mid-1;
        }
    }
    return ret;
}