当前位置: 首页 > news >正文

二分查找3:69. x 的平方根

链接:69. x 的平方根 - 力扣(LeetCode)

题解:

本题本质是二分查找右端点

x的算数平方根一定在1 ~ x 区间内,在1 ~ x区间内查找一个数num,num^2=x,但实际上num不一定是整数,所以是num^2<=x。所以可以理解为所有满足num^2<=x的值都符合条件,但是要查找的是最右端点的值。

class Solution {
public:
    int mySqrt(int x) {
        if(x==0) return 0;
        int left=1;
        int right=x;
        int mid=left+(right-left+1)/2;
        while(left<right)
        {
            if((long long)mid*mid>x)
            {
                right=mid-1;
                mid=left+(right-left+1)/2;
            }
            else
            {
                left=mid;
                mid=left+(right-left+1)/2;
            }
        }
        return mid;
    }
};

相关文章:

  • 使用Docker安装Gogs
  • MySQL 半同步复制,给数据找靠谱 “分身”
  • MCP协议下人工智能康复理疗智械融合编程方向分析
  • 【转载翻译】使用Open3D和Python进行点云处理
  • Matlab 三维时频图
  • 使用WasmEdge将InternLM集成到Obsidian,打造本地智能笔记助手
  • LibreOffice Writer使用01去除单词拼写判断的红色下划线
  • sql server统计小时数据中每日最大风速及风速对应的风向
  • 华为机试 - 跳房子I
  • 让 Python 脚本在后台持续运行:架构级解决方案与工业级实践指南
  • (51单片机)点阵屏LED显示图片(点阵屏LED教程)(74Hc595教程)
  • 简单易懂的解读50ETF分红对期权造成的影响有哪些?
  • Python 深度学习实战 第3章 Keras和TensorFlowKeras 训练和评估模型实例
  • LeetCode hot 100—子集
  • TCP专题
  • C#高级语法:Linq中使用SelectMany解决列表子项提取、双重for循环的问题
  • 06软件测试需求分析案例-添加用户
  • NLP高频面试题(四十)——什么是 BitFit?
  • Excel 插件推荐:提升Excel能力的效率神器!
  • 基于YOLOv8的机场跑道异物检测识别系统:提升航空安全的新一代解决方案(主页有源码)
  • 拆分盘网站建设/新产品推广
  • 网站建设视频教程/nba最新交易新闻
  • ps个人主页设计/百度seo优化软件
  • 莞城区小程序app网站开发/怎么制作个人网站
  • 北京网站建设方案案例/无锡百度竞价公司
  • 中山手机网站制作哪家好/重庆seo网页优化