LeetCode【69. x 的平方根】

给你一个非负整数 x ,计算并返回 x算术平方根

由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。

注意: 不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5

示例 1:

复制代码
输入:x = 4
输出:2

示例 2:

复制代码
输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

提示:

  • 0 <= x <= 231 - 1
java 复制代码
public int mySqrt(int x) {
    if (x == 0) {
        return 0;
    }
    
    int left = 1;
    int right = x;
    int result = 0;
    
    while (left <= right) {
        int mid = left + (right - left) / 2;
        if (mid <= x / mid) {
            left = mid + 1;
            result = mid;
        } else {
            right = mid - 1;
        }
    }
    
    return result;
}
相关推荐
小王不爱笑132几秒前
SpringBoot 自动装配深度解析:从底层原理到自定义 starter 实战(含源码断点调试)
java·spring boot·mybatis
森林里的程序猿猿4 分钟前
Spring Aop底层源码实现(一)
java·后端·spring
ℳ๓₯㎕.空城旧梦10 分钟前
C++中的解释器模式
开发语言·c++·算法
x_xbx16 分钟前
LeetCode:2. 两数相加
算法·leetcode·职场和发展
兔子77328 分钟前
RNN 终于讲明白了:从“模型为什么需要记忆”到 Elman 1990 全文吃透
算法
兔子77329 分钟前
LSTM 终于讲明白了:从“RNN 为什么会忘”到 Hochreiter & Schmidhuber 1997 全文吃透
算法
weixin_4563216433 分钟前
Java架构设计:Redis持久化方案整合实战
java·开发语言·redis
ECT-OS-JiuHuaShan34 分钟前
朱梁万有递归元定理,重构《阴符经》
算法·重构
_日拱一卒43 分钟前
LeetCode:最长连续序列
算法·leetcode·职场和发展
攒了一袋星辰44 分钟前
SequenceGenerator高并发有序顺序号生成中间件 - 架构设计文档
java·后端·spring·中间件·架构·kafka·maven