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 分钟前
缓存管理面临的主要问题
java·数据库·缓存
犀利豆3 小时前
AI in Harness(二)
java·人工智能·后端
沉静的小伙4 小时前
在微服务中使用领域事件
java·运维·微服务
程序员在囧途4 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
醇氧4 小时前
Spring 容器 Map 注入机制详解
java·后端·spring
ylscode5 小时前
Cloudflare Workers Cache 深度解析:边缘缓存如何重塑无服务器性能边界
java·spring·mybatis
栈溢出了5 小时前
Java Lambda 表达式笔记
java·开发语言·intellij-idea
会周易的程序员5 小时前
使用 pybind11 封装 C++ 日志库 microLog 为 Python 模块
java·c++·python·物联网·架构·日志·aiot
zhixingheyi_tian5 小时前
一份GC日志的解读
java·开发语言
ywl4708120875 小时前
ArrayList和LinkedList内部的实现原理和区别
java·java基础