69. x 的平方根

题目

题目描述:

实现 int sqrt(int x) 函数。

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

示例 1:

输入: 4
输出: 2
示例 2:

输入: 8
输出: 2
说明: 8 的平方根是 2.82842…,
由于返回类型是整数,小数部分将被舍去。

思路:

一般会说不能用sqrt,就用二分法查找最合适的

代码:

func mySqrt(x int) int {
     l:=0
     r:=x 
    for l<=r{
        mid := (l+r)/2
        if mid*mid>x{
            r=mid-1
        }else{
            l=mid+1
        }
    }
    return r
}

代码效率:

执行用时:0 ms, 在所有 Go 提交中击败了100.00%的用户
内存消耗:2.1 MB, 在所有 Go 提交中击败了99.92%的用户


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!