计算并返回 x 的平方根,其中 x 是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示例 1:
输入: 4
输出: 2

示例 2:
输入: 8
输出: 2
说明: 8 的平方根是 2.82842...,
         由于返回类型是整数,小数部分将被舍去。
思路:emmm,一开始脑子里想到的就是暴力迭代,可是,,怎么可能可以呢。看了一下官方思路,就是x的平方根一定比x/2小,于是脑子里想到的还是暴力迭代,,,,然后我再往下拖了一下,依然是二分法,二分法写出来了,但是又遇到了int溢出问题,然后最后改了,上代码。
 1 int mySqrt(int x)
2 {
3 if(x < 2)
4 return x;
5
6 int left = 2;
7 int right = x/2;
8
9 while(left <= right)
10 {
11 long mid = (left+right)/2;
12 if(mid*mid > x)
13 {
14 right = mid-1;
15 }
16 else if(mid*mid < x)
17 {
18 left = mid+1;
19 }
20 else
21 {
22 return mid;
23 }
24
25 }
26 return right;
27 }
 
 

(Good topic)二分法:x的平方根的更多相关文章

  1. LeetCode算法题-Sqrt(Java实现)

    这是悦乐书的第158次更新,第160篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第17题(顺位题号是69). 计算并返回x的平方根,其中x保证为非负整数. 由于返回类型 ...

  2. codehouse

    1 # 整数部分十进制转二进制 2 3 num = int(raw_input(">>>")) 4 5 if num < 0: 6 isNeg = True ...

  3. note 5 二分法求平方根,素数,回文数

    +二分法求平方根 x = float(raw_input('Enter the number')) low = 0 high = x guess = (low + high ) / 2 if x &l ...

  4. 计蒜客 X的平方根(二分法)

    设计函数int sqrt(int x),计算 xx 的平方根. 输入格式 输入一个 整数 xx,输出它的平方根.直到碰到文件结束符(EOF)为止. 输出格式 对于每组输入,输出一行一个整数,表示输入整 ...

  5. 二分法求平方根(Python实现)

    使用二分法(Bisection Method)求平方根. def sqrtBI(x, epsilon): assert x>0, 'X must be non-nagtive, not ' + ...

  6. python练习:使用二分法查找求近似平方根,使用二分法查找求近似立方根。

    python练习:使用二分法查找求近似平方根,使用二分法查找求近似立方根. 重难点:原理为一个数的平方根一定在,0到这个数之间,那么就对这之间的数,进行二分遍历.精确度的使用.通过最高值和最低值确定二 ...

  7. python之二分法求平方根

    前几天学完python的程序分支结构后,老师课后留了一个问题,用两种方法计算一个大于或等于 1 的实数 n 数的平方根. 描述设计一个用二分法计算一个大于或等于 1 的实数 n 的平方根的函数sqrt ...

  8. 使用牛顿迭代法和二分法求解一个数的平方根(python语言实现)

    #牛顿迭代法 def sqrt1(x): y = 1.0 while abs(y * y - x) > 1e-6: y = (y + x/y)/2 return y #使用二分法 def sqr ...

  9. sqrt()平方根计算函数的实现1——二分法

    C语言标准库: http://www.cplusplus.com/reference/cmath/ 在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的中间数:如果小了,就再拿右区间的中间 ...

  10. [转载]求平方根sqrt()函数的底层算法效率问题

    我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然 ...

随机推荐

  1. Flutter状态管理-FlyingRedux

    简介 Flying Redux 是一个基于Redux状态管理的组装式flutter应用框架. 它有四个特性: 函数式编程 可预测的状态 插拔式的组件化 支持null safety 和 flutter ...

  2. PowerShell:因为在此系统上禁止运行脚本,解决方法

    解决方案 get-executionpolicy set-executionpolicy remotesigned 输入Y 至此问题解决

  3. ROC 曲线与 PR 曲线

    ROC 曲线与 PR 曲线 ROC 曲线与 PR 曲线 ROC 曲线和 PR 曲线是评估机器学习算法性能的两条重要曲线,两者概念比较容易混淆,但是两者的使用场景是不同的.本文主要讲述两种曲线的含义以及 ...

  4. AcWing 第 92 场周赛 C题 4866. 最大数量 题解

    原题链接 链表 + 并查集乱搞做法: 思路 首先可以发现,想要让度数尽量大,那我们应该构造成菊花图,即下图所示: 对于每个需求,我们可以知道,如果之前他们没有连在一起,那我们一定得把他们连在一起,该过 ...

  5. CVE-2021-3156 Linux sudo权限提升漏洞复现

    前言: 现在最火的莫不过是这个linux sudo权限提升漏洞了,sudo命令可以说是在linux中十分出名的命令了,在运维时很多时候都需要用到sudo命令,通过此漏洞,可以对具有一定权限的普通用户, ...

  6. React-Chat移动端聊天实例|react18 hooks仿微信App聊天界面

    基于react18+react-vant+zustand仿微信手机端聊天室ReactChat. react18-chat 一款使用最新react18.x hooks.zustand搭配react-va ...

  7. 2.4 PE结构:节表详细解析

    节表(Section Table)是Windows PE/COFF格式的可执行文件中一个非常重要的数据结构,它记录了各个代码段.数据段.资源段.重定向表等在文件中的位置和大小信息,是操作系统加载文件时 ...

  8. SpringBoot获取树状结构数据-SQL处理

    前言 在开发中,层级数据(树状结构)的获取往往可能是我们一大难点,我现在将自己获取的树状结构数据方法总结如下,希望能给有需要的小伙伴有所帮助! 一.测试数据准备 /* Navicat Premium ...

  9. utils工具类整理

    闲暇之余,整理出了项目中常用的一些工具类,不是很全,后续会持续更新--- 全部代码请移植github哦-github地址:https://github.com/yang302/utils

  10. crypto 加解密库简介与测试【GO 常用的库】

    〇.前言 GO 语言的标准库 crypto 提供了一组用于加密和解密的包,包括对称加密.哈希函数.数字签名.随机数生成等功能.在日常开发中,通过使用这些库,可以确保数据的安全性和完整性. 对于使用频率 ...