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

学做软件的网站深圳市建设监理协会网站

学做软件的网站,深圳市建设监理协会网站,wordpress清除数据库,襄阳网站建设品牌今天再做两道二分查找的题目,关于二分查找的知识可看我前两篇博客。话不多说,直接开干! 题目1:69.x 的平方根 题目详情:   给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数&#…

今天再做两道二分查找的题目,关于二分查找的知识可看我前两篇博客。话不多说,直接开干!

题目1:69.x 的平方根
题目详情:
  给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
  注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:
输入:x = 4
输出:2
示例 2:输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。提示:
0 <= x <= pow(2,31)-1

解题思路:
  看到题首先想到的估计就是暴力求解吧,循环找到最接近x的索引,写完提交发现:
在这里插入图片描述
  额,我只打败了9.07%的python3用户,哈哈哈哈,我真是个菜鸡。如果这道题使用二分查找怎么做呢,我开始还想着建立一个从 0 ∗ 0 0*0 00 x ∗ x x*x xx的值数组,然后将x视为target,使用二分查找即可,后来看了题解才发现大可不必。无需先生成一个数组。具体见代码:

class Solution:def mySqrt(self, x: int) -> int:lindex=0rindex=xwhile lindex<=rindex:mid=lindex+(rindex-lindex)//2# x仍作为target,mid*mid与target比较即可if mid*mid < x:lindex=mid+1elif mid*mid > x:rindex=mid-1else:# x的算数平方根是个整数,则满足mid*mid=xreturn mid# 若x算术平方根不是整数,故找不到一个索引满足条件# 这里返回的是rindex或者lindex-1return rindex

  为什么最后返回值是rindex或者是lindex-1呢,理解二分查找算法的或者看过我第一天做题的博客应该知道,其中有道题和这道的返回值极为相似。当跳出循环时,满足rindex<lindex且rindex+1=lindex。在lindex左边的值一定都小于x的算法平方根,lindex是第一个大于x的算法平方根的索引,因为最终取算法平方根的整数部分,故返回的应该是lindex-1。同理可以从rindex的角度推得最终返回rindex。

题目2:367. 有效的完全平方数
题目详述:
  给你一个正整数 num 。如果 num 是一个完全平方数,则返回 true ,否则返回 false 。完全平方数 是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。
  不能使用任何内置的库函数,如 sqrt 。

示例 1:
输入:num = 16
输出:true
解释:返回 true ,因为 4 * 4 = 16 且 4 是一个整数。
示例 2:输入:num = 14
输出:false
解释:返回 false ,因为 3.742 * 3.742 = 14 但 3.742 不是一个整数。提示:
1 <= num <= pow(2,31)-1

解题思路:
  这道题和上面那道完全一样,返回值更加简单,不再详述。

class Solution:def isPerfectSquare(self, num: int) -> bool:lindex=0rindex=numwhile lindex<=rindex:mid=lindex+(rindex-lindex)//2if mid*mid > num:rindex=mid-1elif mid*mid < num:lindex=mid+1else:return Truereturn False
http://www.sczhlp.com/news/114169/

相关文章:

  • 东营网站建设价格建筑网上招工平台哪个好
  • 福州市建设局职改办门户网站旅游门户网站有哪些
  • 怎样通过网站注册公司微信运营商人工电话
  • 多配色创意metro风格企业网站织梦模板哈尔滨微网站建设公司哪家好
  • 建小公司网站要多少钱网站建设600元包
  • 烟台网站建设-中国互联网站建设与管理是干嘛的
  • 临桂建设局安全股网站免费做网站自助建站
  • re分区为y盘,efi分区为z盘
  • 郑州网站建设 论坛深圳市龙华区住房和建设局网站
  • 国内设计师个人网站欣赏wordpress主题 ux
  • html5手机网站开发框架wordpress验证主题
  • 服务器网站配置重庆网站提示
  • 南宁市网站建设价格网络推广及销售
  • 廊坊网站快速排名优化网站建设论文致谢
  • 网站开发哪家公司比较好wordpress二次元博客模板
  • 网站推广方法是什么门户网站建设管理总则
  • 数组,java学习第五天
  • 文件结构与数据分析专项-解析
  • 网站建设开发成本国内做网站大公司
  • 大型网站建设 教程品牌企划
  • 长春长春网站建设营销型网站案例 注册公司
  • 做卖挖掘机的网站无锡网络公司可以制作网站
  • 烟台网站建设哪家好呢做视频网站需要多少钱
  • 广州市网站搭建制作丽水微信网站建设哪家好
  • 企业网站 设贵州毕节网站建设
  • 如何建网站服务器肇庆企业自助建站系统
  • 怎样建立网站建设vps建设网站需要条件
  • 7一12岁手工玩具小制作公司seo推广营销网站
  • 苏州做网站公司精选苏州聚尚网络WordPress用户自定义头衔
  • 销售能力——Steam平台我们应该做什么游戏?