leetcode 69

顺序查找和二分法都会超时间,需要用牛顿迭代,解方程x2=n 令f(x)=x2-n,则牛顿迭代式是xi+1=xi-f(x)/f(x)导。

这题里化简后是xi+1=(xi+x/xi)/2;

int mySqrt(int x) {
        long res=x;
        while(res*res>x)
            res=(res+x/res)/2;
        return res;
    }

猜你喜欢

转载自blog.csdn.net/TempterCyn/article/details/84025531