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

leetcode 69 x的平方根

一、题目描述

二、解题思路

整体思路:

由于最终返回的结果可以把向量分为两段,结果及其左边的数的平方值小于等于x,结果右边数的平方值大于x,具有“二段性”,所以可以用二分法来解决这个问题,实质上就是在查找右边界。

具体思路:

(1)首先进行边界处理,由于x可能小于1,所以当x小于1时,它的平方根肯定小于1,直接返回0;

(2)使用二分法查找右边界

 //查找右边界

        int left=1,right=x;

        while(left<right){

            long long mid=left+(right-left+1)/2;

            if(mid*mid<=x) left=mid;

            else if(mid*mid>x) right=mid-1;

        }

三、代码实现

时间复杂度:T(n)=O(log2)

空间复杂度:S(n)=O(1)

class Solution {
public:int mySqrt(int x) {//边界处理if(x<1) return 0;//查找右边界int left=1,right=x;while(left<right){long long mid=left+(right-left+1)/2;if(mid*mid<=x) left=mid;else if(mid*mid>x) right=mid-1;}return left;}
};

http://www.dtcms.com/a/346544.html

相关文章:

  • 【UnityAS】Unity Android Studio 联合开发快速入门:环境配置、AAR 集成与双向调用教程
  • 一个适用于 Word(Mac/Win 通用) 的 VBA 宏:把所有“上角标格式的 0‑9”以及 “Unicode 上角标数字 ⁰‑⁹” 批量删除。
  • 前端安全之XSS和CSRF
  • Mac相册重复照片终结指南:技术流清理方案
  • Bartender 5 Mac 多功能菜单栏管理
  • Android Studio下载gradle文件很慢的捷径之路
  • MySQL深分页的处理方案
  • Java项目:基于SpringBoot和Vue的图书个性化推荐系统(源码+数据库+文档)
  • 小米集团总裁卢伟冰:小米汽车不会参与任何价格战,下半年有望开始盈利
  • WSL Ubuntu数据迁移
  • 把 AI 塞进「电梯按钮」——基于毫米波手势识别的零接触控制面板
  • 网站速度慢?安全防护弱?EdgeOne免费套餐一次性解决两大痛点
  • C语言文件操作精讲:从格式化读写到随机访问
  • 控制建模matlab练习16:线性状态反馈控制器-⑤轨迹追踪
  • 后台管理系统-15-vue3之登录页的实现
  • 谷歌浏览器重定向url,谷歌浏览器浏览网页修改url到本地
  • 批量归一化:不将参数上传到中心服务器,那服务器怎么进行聚合?
  • 基于JSqlParser的SQL语句分析与处理
  • ASCOMP PDF Conversa:高效精准的PDF转换工具
  • 【机器学习深度学习】多模态学习
  • 终结系统裸奔:Debian老旧版本安全加固终极指南
  • 李宏毅NLP-12-语音分类
  • 达梦数据库巡检常用SQL(三)
  • 全国网络安全知识竞赛有哪些
  • androidstudio 无法启动
  • Linux问答题:调优系统性能
  • 20250823给荣品RD-RK3588开发板刷Rockchip原厂的Android14【EVB7的V10】时调通AP6275P的WIFI
  • 卓伊凡的开源战略与PHP-SG16加密技术深度解析-sg加密技术详解-卓伊凡
  • 32位内部数据通路是什么?
  • mmdetection:记录算法训练配置文件