当前位置: 首页 > 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脚踢毫米波雷达,重新定义“无接触交互”尾门
  • 中公教育薪酬透视:董监高合计涨薪122万,员工精简近三成
  • 恒瑞医药赴港上市获证监会备案,拟发行不超8.15亿股
  • 葛兰西:“生活就是抵抗”
  • 靳燕出任中央戏剧学院党委副书记,原任中戏院长助理
  • 演员孙俪:中年人没有脆弱的时间,学习胡曼黎不内耗
  • 政治局会议深度|提出“设立新型政策性金融工具”有何深意?