共计 359 个字符,预计需要花费 1 分钟才能阅读完成。
题目形容
实现 int sqrt(int x) 函数。
计算并返回 x 的平方根,其中 x 是非负整数。
因为返回类型是整数,后果只保留整数的局部,小数局部将被舍去。
示例:
输出: 8
输入: 2
阐明: 8 的平方根是 2.82842…,
因为返回类型是整数,小数局部将被舍去。
解题思路
应用二分查找,找到最初一个平方值小于 x 的数
语言积攒和技巧
1、将平方值转为 long 类型,避开溢出问题
2、应用 46340 这个最大的可能值,能够缩小几次运算
3、编写程序的时候,取到最初一个平方值小于 x 的数(y),下一个的话,因为 mid- 1 的起因会导致 low >= high,所以会退出循环,咱们将 y 返回即可。能够缩小几个逻辑判断
代码链接
https://github.com/lunaDolphi…
https://github.com/lunaDolphi…
正文完