题目形容

实现 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...