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;
    }
}
复制代码

总结:

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

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


相关推荐
小马爱打代码7 小时前
Redis Key 过期后会立刻删除吗?过期删除与内存淘汰策略详解
java·redis·缓存
鱼鳞_7 小时前
苍穹外卖-Day10(Spring task)
java·后端·spring
雨落在了我的手上7 小时前
初始java(十七):常⽤⼯具类介绍
java·开发语言
凤凰院凶涛QAQ7 小时前
《Java版数据结构 & 集合类剖析》集合框架的封装设计与顺序表:“从 Iterable 到 ArrayList:集合框架的‘职业树“
java·开发语言·数据结构
孟华苏8 小时前
怎么快速排查内存泄漏问题
java·开发语言·python
noipp8 小时前
推荐题目:洛谷 P16510 [GKS 2015 #C] gRanks
java·c语言·开发语言·c++·python·算法
flyinmind8 小时前
Java环境与Android环境中使用QuickJS
java·开发语言·javascript·quickjs
不吃鱼的羊8 小时前
DaVinci Developer自动连接
java·开发语言
farerboy8 小时前
15-Java while 和 do...while循环
java·后端
菜菜的顾清寒8 小时前
力扣HOT100(50)动态规划-零钱兑换
算法·leetcode·动态规划