实现int sqrt(int x)函数。
计算并返回X的平方根,其中x是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示范1
输入:4
输出:2
示范2
输入:8
输出:2
说明 8 的平方根是2.82842...由于返回类型是整数,小数部分将被舍去
package com.java.LanqQiaoBei;
public class LaLa {
public int mySqrt(int x) {
int left = 0, right = 46340;
while (left < right) {
int mid = (left + right) / 2;
if (mid * mid < x)
left = mid + 1;
else if (mid * mid > x)
if ((mid - 1) * (mid - 1) <= x)
return mid - 1;
else
right = mid - 1;
else
return mid;
}
if(left * left >x)
return left - 1;
return left;
}
}