LCR 072. x 的平方根

​​题目来源:

leetcode题目,网址:LCR 072. x 的平方根 - 力扣(LeetCode)

解题思路:

二分查找即可。

解题代码:

复制代码
class Solution {
    public int mySqrt(int x) {
        long left=0;
        long right=x;
        while(left<=right){
            long mid=left+(right-left)/2;
            if(mid*mid<=x){
                if((mid+1)*(mid+1)>x){
                    return (int)mid;
                }else{
                    left=mid+1;
                }
            }else{
                right=mid-1;
            }
        }
        return -1;
    }
}
复制代码

总结:

注意计算乘积时可能会溢出。

官方题解给出了三种解法。第一种是通过数学方法讲平方根转化为对数与指数计算。第二种是二分查找。第三种是牛顿迭代法。


相关推荐
_日拱一卒8 分钟前
LeetCode:114二叉树展开为链表
java·开发语言·算法
SamDeepThinking13 分钟前
面试官问Bean线程安全,你该从架构角度回答
java·后端·面试
敖正炀19 分钟前
ArrayList 与 LinkedList 源码全景:从数据结构选择到性能分歧的完整代码路径
java
凌波粒19 分钟前
LeetCode--513.找树左下角的值(二叉树)
java·算法·leetcode
敖正炀19 分钟前
HashMap 红黑树化与退化
java
喜欢小苹果的码农22 分钟前
xxl-job主流程分析
java
敖正炀24 分钟前
HashMap 源码深度拆解(JDK 7→8)
java
Yeats_Liao24 分钟前
物联网接入层技术剖析(二):epoll到底是怎么工作的
java·linux·网络·物联网·信息与通信
DevOpenClub33 分钟前
职教高考及高职分类招生控制线 API 接口
java·数据库·高考
Tsuki_tl34 分钟前
【总结】Java的线程状态
java·后端·面试·多线程·并发编程·线程状态