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;
}
相关推荐
梦想的旅途2几秒前
如何高效调用企业微信通讯录API管理组织架构
java·开发语言·企业微信
阿宁学科技术库11 分钟前
关于“库库AI”在股票投研场景实用性的技术观察
大数据·人工智能·职场和发展
小程序设计18 分钟前
【机械设计】磁粉检测机器人的设计与验证
算法·机器人
Navigator_Z23 分钟前
LeetCode //C - 1220. Count Vowels Permutation
c语言·算法·leetcode
2601_9620652533 分钟前
2.启动mysql容器
java·数据库·mysql
2601_9620654933 分钟前
PHP For 循环
android·java·php
吃好睡好便好34 分钟前
判断函数的使用
学习·算法·matlab·生活·判断函数
2601_9561219737 分钟前
线性DP(入门)
c++·算法·动态规划
2601_9622017240 分钟前
Java进阶,集合,Colllection,常见数据结构
java·数据结构·windows
彷徨而立1 小时前
【C/C++】多线程读写普通 int 变量的一些问题
java·c语言·c++