0
点赞
收藏
分享

微信扫一扫

数组(2):69.Sqrt(x)

心存浪漫 2022-01-26 阅读 33

题目

方法:

第一次代码: 

class Solution {
    public int mySqrt(int x) {
        int mid = x / 2;

        while(true){
            if(mid * mid <= x && (mid+1) * (mid+1) > x)
                return mid;
            else if(mid * mid > x)
                mid /= 2;
            else 
                mid += 1;
        }
    }
}

改进代码:

class Solution {
    public int mySqrt(int x) {
        long mid = x / 2;

        while(true){
            if(mid * mid <= x && (mid+1) * (mid+1) > x)
                return (int)mid;
            else if(mid * mid > x)
                mid /= 2;
            else 
                mid += 1;
        }
    }
}
举报

相关推荐

0 条评论