题解 | #删除链表的倒数第n个节点#

求平方根

http://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c

二分法
算出 最终的值时。若值得平方大于x,则最终值-1;
若值平方小于x,则输出最终值。

public int sqrt (int x) {
        // write code here

        if (x < 0){
            System.out.println(new Exception("算数错误"));
        }
        if (x == 1 || x == 0){
            return x;
        }

        int l = 1;
        int r = x/2;
        while (l<r){
            int mid = l + (r-l) / 2;

            if (x / mid == mid){
                return mid;
            }else if (x / mid > mid){
                l = mid + 1;
            }else {
                r = mid - 1;
            }
        }
        if(l * l > x){
            System.out.println((l - 1));
            return l - 1;
        }else{
            System.out.println(l);
            return l;
        }
全部评论

相关推荐

明天不下雨了:我靠2022了都去字节了还什么读研我教你****:你好,本人985电子科大在读研一,本科西南大学(211)我在字节跳动实习过。对您的岗位很感兴趣,希望获得一次投递机会。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务