力扣题解x的平方根

今天写了关于求解x的平方根的问题,但是题目要求不能使用类似与pow()这样的函数,所以我想到了用二分查找的方法。关于二分查找有一些知识点记不太清了,于是复习之后,开始构思了这道题目的解题方法。

考虑用二分法之后,我就开始理清思路,

如果这个整数的平方 恰好等于 输入整数,那么我们就找到了这个整数;如果这个整数的平方 严格大于 输入整数,那么这个整数肯定不是我们要找的那个数;如果这个整数的平方 严格小于 输入整数,那么这个整数 可能 是我们要找的那个数。

我们可以使用「二分查找」来查找这个整数,不断缩小范围去猜。猜的数平方以后大了就往小了猜;猜的数平方以后恰恰好等于输入的数就找到了;猜的数平方以后小了,可能猜的数就是,也可能不是。根据以上的思路,我们容易知道,题目要我们返回的整数是有范围的,直觉上一个整数的平方根肯定不会超过它自己的一半,但是 00 和 11 除外,因此我们可以在 11 到输入整数除以 22 这个范围里查找我们要找的平方根整数。00 单独判断一下就好。

接下来看看代码吧,有参控大佬们的方法和思路,好在最后也成功运行起来了。

 

这就是今日所学,还需继续努力,继续加油,希望期末不挂!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值