首页 > 其他分享 >69. x 的平方根

69. x 的平方根

时间:2023-01-18 17:13:34浏览次数:29  
标签:二分 int 整数 查找 69 平方根

题目描述

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

方法1

描述

由于 x 平方根的整数部分 ans 是满足 k2 ≤ x的最大 k 值,因此我们可以对 k进行二分查找,从而得到答案。
二分查找的下界为 0,上界可以粗略地设定为 x。在二分查找的每一步中,
我们只需要比较中间元素 mid 的平方与 x 的大小关系,并通过比较的结果调整上下界的范围。

代码

package easy.x的平方根69;

class Solution {
    public int mySqrt(int x) {
        if(x == 1) return 1;
        int l = 0, r = x, ans = -1;
        while (l <= r) {
            int mid = l + (r - l) / 2;
            if ((long) mid * mid <= x) {
                ans = mid;
                l = mid+1;
            } else {
                r = mid - 1;
            }
        }

        return ans;
    }

    public static void main(String[] args) {
        System.out.println(new Solution().mySqrt(8));
    }
}

标签:二分,int,整数,查找,69,平方根
From: https://www.cnblogs.com/loongnuts/p/17060222.html

相关文章

  • 李沐老师《动手学深度学习》(PyTorch版)学习笔记:第69-70课 微调
    【李沐老师观点】微调是深度学习,特别是计算机视觉来说,最重要的一种技术。整个深度学习为什么正常WORD?是因为微调的存在。所谓“微调”也称为“TransferLearning”,即迁移学......
  • 【题解】P5692 [MtOI2019]手牵手走向明天
    春节前做大分块是什么奇妙传统吗……这个题好想是好想,但是写起来就是另外一回事了……思路分块。第四分块加强版。区间查询,根号分治做法寄了。看到合并颜色可以想到......
  • 代码随想录算法训练营第二十三天 | ● 669. 修剪二叉搜索树 ● 108.将有序数组转换
    今日内容:●669.修剪二叉搜索树●108.将有序数组转换为二叉搜索树●538.把二叉搜索树转换为累加树●总结篇详细布置669.修剪二叉搜索树这道题目比......
  • 4699. 如此编码
    4699.如此编码某次测验后,顿顿老师在黑板上留下了一串数字23333便飘然而去。凝望着这个神秘数字,小P同学不禁陷入了沉思……已知某次测验包含n道单项选择题,其中......
  • BZOJ4695. 最假女选手
    \(BZOJ4695\).最假女选手一、题目描述给定一个长度为\(N\)序列,编号从\(1\)到\(N\)。要求支持下面几种操作:给一个区间\([L,R]\)加上一个数\(x\)把一个区间\([L......
  • 1-MIGO在做收货的时候-表T169P: 表目1000 不存在
     SAP环境在安装完成后,首次在做MIGO收货会报下面的错误  解决办法SPRO-->物料管理-->后勤发票校验-->收入发票-->编辑发票校验中的PO补充文本    ......
  • 69. x的平方根
    问题链接https://leetcode.cn/problems/sqrtx/description/解题思路这个题目,可以用1到x来进行二分。对照上一题的解题思路,当我们不知道最后应该返回什么的时候,就去想mi......
  • 69. Sqrt(x)
    classSolution{public:intmySqrt(intx){doublekey=sqrt(x);return(int)key;}};......
  • Microsoft Office LTSC 2021 for Mac(office系列全套装) v16.69激活版
    哪里有全套装的office 2021mac版下载?office2021是一款由微软官方提供的最新office办公软件。office2021forMac从头开始设计,以利用最新的Mac功能,包括Retina显示、......
  • P3469 [POI2008]BLO-Blockade 割点,强联通分量
        //题意:对于每一个点,求删去这个点的所有边会形成多少个点对满足两点之间不互通//思路:思路很简单,分为这个点是否是割点,但写法上就有点讲究,详情见博客//......