leetcode
答案
LeetCode
69
题
1.题目要求
实现
int
sqrt(int
x)
函数。
计算并返回
x
的平方根,其中
x
是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示例
1:
输入:
4
输出:
2
示例
2:
输入:
8
输出:
2
说明:
8
的平方根是
2.82842...,
由于返回类型是整数,小数部分将被舍去。
2.初次尝试
这道题很明显不是让我们调用
Math.sqrt()
方法来计算,而是自己实现一个求平方根的算法。第一React想到的方法是暴力循环求解!从
1
开始依次往后求平方数,当平方数等于
x
时,返回
i
;当平方数大于
x
时,返回
i
-
1。
class
Solution
{
public
int
mySqrt(int
x)
{
for(int
i
=
0;
i
<=
x;
i++)
{
if(i
*
i
>=
x){
if(i
*
i
==
x)
return
i;
else
return
i
-
1;
}
}
return
0;
}
}
这种方案通过了测试,但是成绩惨不忍睹:
执行用时
:
1