题目描述

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

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

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

示例 1:

输入:x = 4
输出:2
示例 2:

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

0 <= x <= 231 - 1
'''

思路:

题目的大致意思就是:输入一个y,求其的算术平方根x

即y=x²,求x,其中y为已知的,我的想法是将其转换成一个方程,然后利用算法求其的根(我这里用的是比较简单的二分法求根,因为我只记得这个求根方法了呜呜呜)

假设输入的y已知为a,则得新的方程为:y=x²-a,求x得值

源码:

from math import floorclass Solution:def mySqrt(self, y: int) -> int:self.y = yif y < 4:return self.half(0, 2 + 1, 0.9)else:# 误差的取值 针对较小的y 误差应取较大值 针对较大的y 误差应取较小值k = 0.5 if y < 2 ** 11 else 0.00006return self.half(2, (y / 2) + 1, k)# 定义函数def f(self, x):return x ** 2 - self.y# 二分法def half(self, a, b, k) -> int:x = (a + b) / 2while abs(a - b) > k:[a, b] = [a, x] if self.f(x) * self.f(a) <= 0 else [x, b]x = (a + b) / 2return floor(x)

通过截图:

同步更新于个人博客系统:leetcode日常之x 的平方根

同步更新于个人博客系统:leetcode日常之x 的平方根

同步更新于个人博客系统:leetcode日常之x 的平方根

leetcode日常之x 的平方根(二分法求解)相关推荐

  1. 二分法求解非负数的平方根

    二分法求解非负数的平方根.快速查找有序数组的某个元素中有广泛的应用. 二分法求解非负数的平方根的C语言程序如下: float SquareBoot(float x,float epsilon) {lo ...

  2. LeetCode题解:x的平方根

    x的平方根(easy) 更好的阅读体验应该是: 审题-思考 答题 整理-归纳 一.题目 LeetCode:69.x 的平方根 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果 ...

  3. tensorflow随笔-二分法求解一元方程

    tensorflow编程还是比较麻烦~ #!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Created on Mon ...

  4. 二分法求解方程的根java_C语言二分法求解方程根的两种方法

    本文实例为大家分享了C语言二分法求解方程根的具体代码,供大家参考,具体内容如下 对于二分法求根,其实和弦截法思想很像,甚至更简单. 原理:先看如下的图 A,B两个点为跟的一个边界,通过一直缩小跟的边界 ...

  5. c语言实现二分法_C语言实现二分法求解方程在区间内的根

    C语言实现二分法求解方程在区间内的根. 设有非线性方程: 其中, 为 上连续函数且设 (不妨设方程在 内仅有一个实根),求上述方程实根的二分法过程,就是将含根区间[a,b]逐步分半,检查函数值符号的变 ...

  6. 基于MATLAB二分法求解一元二次方程的根

    二分法是一种常用的数值解法,在 MATLAB 中也可以使用二分法求解一元二次方程的根. 首先,需要确定一段区间,在该区间内一定存在二次方程的解,然后取该区间的中点作为新的枚举值.根据该值代入二次方程进 ...

  7. 二分法求解平方根注意点:

    对于一个整数求解其平方根可以使用"二分法"和"牛顿法". 所谓"二分法"就是不断地缩小平方根所在的范围,直到收敛到一个数.例如求解数k的平方 ...

  8. python二分法求解_Python使用二分法求平方根的简单示例

    这篇文章主要为大家详细介绍了Python使用二分法求平方根的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 使 ...

  9. LeetCode实战:x 的平方根

    题目英文 Implement int sqrt(int x). Compute and return the square root of x, where x is guaranteed to be ...

最新文章

  1. 运维企业专题(5)LVS高可用与负载均衡中篇——VS/DR模式配置详解
  2. 循环所有数据库执行脚本
  3. 2知识图谱的生命周期
  4. freemarker-模板
  5. STM32 编码器的CUBEMX的使用
  6. 九、K8s deployment相关操作
  7. C++实现Behavioral - Observer模式 (转)
  8. pygame安装教程(python)
  9. 雷军第二场直播带货圆满成功,雷军代言小米试用期一个月
  10. SWP文件详细介绍与利用
  11. 人人都来写算法 之 插入排序
  12. 我的macbook应用清单
  13. layui显示分页,搜索后重置分页
  14. 数字197可以被称为循环素数,因为197的三个数位循环移位后的数字:197,971,719均为素数。100以内这样的数字包括13个,2,3,5,7,11,13,17,31,37,71,73,79,97
  15. 求任意多边形面积-有向面积
  16. 定时发布微信文件和消息
  17. python提取前几行数据_python读取文件的前几行
  18. [转贴]英语口语整理,灵活运用了,口语基本就没问题了。
  19. 风力发电控制系统的matlab,基于MATLAB的风力发电系统设计ppt课件
  20. 操作系统的内存管理你知道吗

热门文章

  1. 计算机系统崩溃了怎么办,电脑系统崩溃怎么办?如何恢复电脑里的文件方法介绍...
  2. 分布式发电的PQ控制研究仿真
  3. WiFi(6)和5G的区别及比对
  4. Skydrive与Office的完美结合!多方处理文档不同步问题
  5. 常用linux命令 超级精炼版
  6. STM32单片机小游戏触摸屏打地鼠2.8寸TFT液晶显示屏计分和关卡
  7. 手机流量翻牌抽奖活动HTML页面
  8. Springboot-注解-操作日志
  9. 计算机---网络基础小知识点11.14
  10. 含稀土配合物粒径小/发色性能好的聚苯乙烯荧光微球/交联羧基聚苯乙烯微球/单分散荧光微球/红色荧光微球