力扣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

代码:

cpp 复制代码
class Solution {
public:
    int mySqrt(int x) {
        int left = 0, right = x, res = -1;
        
        while(left <= right){
            long long mid = (left + right) / 2;

            if(mid * mid <= x){
                res = mid;
                left = mid + 1;
            }
            else{
                right = mid - 1;
            }
        }

        return res;
    }
};

解题思路:

(1)使用二分查找的思路。

(2)若 mid * mid 小于 x,则赋值给 res。

(3)循环结束后,res 即为最终结果。

相关推荐
yi01113 小时前
DAY17: LeetCode 139|单词拆分:从“把单词删掉”到用 DP 记录合法切口
人工智能·笔记·python·算法·leetcode·动态规划
陈希瑞13 小时前
LongCat-2.5-Preview 的web逆向能力实测
人工智能·算法·wasm
雾喔14 小时前
近日总结 & 面试经验
面试·职场和发展
tangguofeng14 小时前
基于分治策略的循环赛日程表问题的思路讲解
算法
起个名字费劲死了15 小时前
VisionMaster集成深度学习算法(基础狗)
人工智能·深度学习·算法
lengxuenong15 小时前
枚举例题分析
c++·算法·青少年编程
bksczm15 小时前
0基础面试2
网络·面试·职场和发展
Navigator_Z15 小时前
LeetCode //C - 1269. Number of Ways to Stay in the Same Place After Some Steps
c语言·算法·leetcode
2601_9657422215 小时前
短视频脚本创作方法分享:本地生活类账号的起步思路
大数据·人工智能·算法·ai·新媒体运营·生活
55873生态系统手记15 小时前
读完 55873 资产钱包的技术栈,我重新理解了 "合规钱包" 应该长什么样
算法·架构