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

leetcode 算法 69.x的平方根(python版)

需求

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
示例 1:
输入:x = 4
输出:2
示例 2
输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。

分析

可以使用二分查找的思路来求解算术平方根。
首先,设定搜索范围,最小值为0,最大值为x。
然后,通过二分查找的方式逼近算术平方根。
每次选取中间值mid,计算mid的平方。如果平方小于等于x,说明mid可能是答案的一部分,更新最小值为mid,继续搜索mid右边的范围。
如果mid的平方大于x,说明mid不是答案的一部分,更新最大值为mid。
当搜索范围缩小到最小值和最大值相等时,返回最小值即可。

代码

class Solution:def x_sqrt(self,x):left=0right=xwhile left<=right:mid=(left+right)//2if mid*mid <= x <(mid+1)*(mid+1):return midelif mid*mid<x:left=mid+1else:right=mid-1if __name__ == '__main__':call=Solution()x=8print(call.x_sqrt(x))

运行结果

在这里插入图片描述

http://www.lryc.cn/news/297431.html

相关文章:

  • 【golang】24、go get 和 go mod:indrect 与 go mod tidy
  • AI算法工程师-非leetcode题目总结
  • 2.6:冒泡、简选、直插、快排,递归,宏
  • FastDFS安装并整合Openresty
  • 93 log4j-slf4j-impl 搭配上 log4j-to-slf4j 导致的 StackOverflow
  • 客户端会话技术-Cookie
  • rsa加密登录解决方案
  • 速盾:海外服务器用了cdn还是卡怎么办
  • [python-opencv] PNG 裁切物体
  • 机器学习——有监督学习和无监督学习
  • MySQL单主模式部署组复制集群
  • 【大厂AI课学习笔记】【1.5 AI技术领域】(10)对话系统
  • 【ARM 嵌入式 编译系列 2.7 -- GCC 编译优化参数详细介绍】
  • 《剑指 Offer》专项突破版 - 面试题 38、39 和 40 : 通过三道面试题详解单调栈(C++ 实现)
  • 动态规划C语言
  • 基于微信小程序的校园二手交易平台
  • K8S系列文章之 [使用 Alpine 搭建 k3s]
  • 计算机视觉 | OpenCV 实现手势虚拟控制亮度和音量
  • python28-Python的运算符之三目运算符
  • 高德 API 10009
  • Go 语言中如何大小端字节序?int 转 byte 是如何进行的?
  • 论文阅读——MP-Former
  • JPEG图像的压缩标准(1)
  • 数解 transformer 之 self attention transformer 公式整理
  • ubuntu22.04@laptop OpenCV Get Started
  • 【Java】苍穹外卖 Day01
  • Ivanti Pulse Connect Secure VPN SSRF(CVE-2023-46805)漏洞
  • GPT-4:比ChatGPT3.5好得多,但它有多好你知道么?
  • 测试:JMeter如何获取非json格式的响应参数
  • 2024年刘谦魔术大揭秘,其中竟用到了约瑟夫环?