算法-x的平方根
实现 int sqrt(int x) 函数。
计算并返回 x 的平方根,其中 x 是 非负整数。
由于返回类型是整数,结果 只保留整数的部分,小数部分将被舍去。
示例 1:
输入: 4
输出: 2
示例 2:
输入: 8
输出: 2
说明: 8 的平方根是 2.82842…由于返回类型是整数,小数部分将被舍去。
来源:力扣(LeetCode)
- 思路一:
最初的思路比较简单,以0作为基础,自己乘自己,每次加一来靠近。
class Solution {
public int mySqrt(int x) {
int base=0;
boolean flag = false;
while(flag==false){
if(base*base == x){
flag = true;
return base;
}
if(base*base>x){
flag = true;
base = base-1;
return base;
}
base+=1;
}
return base;
}
}
以上方法若是x的值过大,会提示超出时间限制,运算量过大,不适合。
- 思路二:
笔记: