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

day51—二分法—x 的平方根(LeetCode-69)

题目描述

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。

由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:

输入:x = 4
输出:2

示例 2:

输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

提示:

  • 0 <= x <= 231 - 1

解决方案:

1、排除边界条件:0,数据范围(long)

2、取中间值,比较目标条件,对比状态去更新两个边界

3、返回找到的值即可

函数源码:

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

相关文章:

  • 计算机基本理论与 ARM 相关概念深度解析
  • 一、I/O的相关概念
  • JavaScript之Webpack的模块加载机制
  • es数据导出
  • Unity Post Processing 小记 【使用泛光实现灯光亮度效果】
  • 第2讲、Tensor高级操作与自动求导详解
  • gradle eclipse [.project .classpath .settings]
  • 【有啥问啥】深入理解 Layer Normalization (LayerNorm):深度学习的稳定基石
  • 【物理学】电磁学——电动势
  • 说一下Drop与delete区别
  • Kafka批量消费部分处理成功时的手动提交方案
  • 页面需要重加载才能显示的问题修改
  • openstack热迁移、冷迁移、疏散
  • SQL注入原理及防护方案
  • 基于BenchmarkSQL的OceanBase数据库tpcc性能测试
  • Java异常处理全面指南:从基础到高级实践
  • [MCU]SRAM
  • 路由协议基础
  • 【JS-Leetcode】2621睡眠函数|2629复合函数|2665计数器||
  • 2025上海车展 | 移远通信重磅发布AR脚踢毫米波雷达,重新定义“无接触交互”尾门
  • 青年与城市共成长,第六届上海创新创业青年50人论坛将举办
  • 博裕基金拟收购“全球店王”北京SKP最多45%股权
  • 胡祥|人工智能时代:文艺评论何为?
  • 罗马尼亚临时总统博洛让任命普雷多尤为看守政府总理
  • 白俄罗斯政府代表团将访问朝鲜
  • 虚构医药服务项目、协助冒名就医等,北京4家医疗机构被处罚