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;
}
相关推荐
-dzk-几秒前
【滑动窗口】LC 3.无重复字符的最长子串
算法·滑动窗口
zzxdear2 分钟前
用 OR-Tools CP-SAT 求解最简单的柔性作业车间调度(FJSP)
算法
SamDeepThinking8 分钟前
警惕那些很长时间没有编写任何代码、却在设计系统的人
java·后端·架构
莫得感情 o10 分钟前
并发 13 · 异步编排
java·并发
TizzyGoodhealth12 分钟前
从零到一搭建Spring‑AI原生Tool‑Calling AI Agent|架构对比+完整实战源码+踩坑实录
java·ai·知识库·rag·ai agent·spring ai
luj_176813 分钟前
变频技术核心原理揭秘
服务器·c语言·开发语言·经验分享·算法
mmsx13 分钟前
置灰按钮为什么自己又“亮“了?一次状态缓存“双写冲突“的排查记录
java·缓存·bug·livedata
rannn_11114 分钟前
【力扣hot100】图论专题+模板|DFS、BFS、拓扑排序...
java·算法·leetcode·深度优先·图论
用户31268748772017 分钟前
ReentrantLock 到底怎么排队的?AQS 源码拆解
java
Zane199418 分钟前
ArrayList 插入慢,LinkedList 一定快吗
java·后端