首先呢69的官方一解是牛顿迭代,然后我刚准备做367,就感觉要学下…

    牛顿迭代法是一种可以用来快速求解函数零点的方法。具体历史就pass了

    本质是借助泰勒级数,从初始值开始快速向零点逼近

    有点像高中学的蛛网…

    可恶啊我本以为我能相很多的结果原来就是知道个新思路…

    算了水一次

    学习牛顿迭代法 - 图1

    1. class Solution {
    2. public int mySqrt(int x) {
    3. if (x == 0) {
    4. return 0;
    5. }
    6. double C = x, x0 = x;
    7. while (true) {
    8. double xi = 0.5 * (x0 + C / x0);
    9. if (Math.abs(x0 - xi) < 1e-7) {
    10. break;
    11. }
    12. x0 = xi;
    13. }
    14. return (int) x0;
    15. }
    16. }

    时间复杂度比二分找零点好