// 牛顿法
// f(x) = x^2 - a
// 求解 a 的平方根, 即求解 f(x) = 0 的解
// f(x) ~= f(x0) + (x - x0) * f'(x0);
// 令 f(x) = 0 => x = (x0 + a/x0) /2 => 得到该迭代公式.
class Solution {
public int mySqrt(int a) {
long x0 = a;
while (x0*x0 > a) {
x0 = (x0 + a / x0) / 2;
}
return (int)x0;
}
}
自己写sqrt()函数,LeetCode
最新推荐文章于 2023-01-03 16:59:56 发布