Pow(x, n)【力扣】

题意理解

计算x的n次幂,n可以是负数。

问题分析

直接一个一个相乘超时。

换一种乘法,x*x,(x*x)*(x*x)....最后乘上多余的一个

其他

属于计算机的技巧

链接

    double myPow(double x, int n) {
        if (n == 0) return 1;
        if (n == -1) return 1 / x;
        if (n == 1) return x;
        return myPow(x * x, n / 2) * (n % 2 == 0 ? 1 : n > 1 ? x : 1 / x); 

    }

猜你喜欢

转载自blog.csdn.net/xiexie1357/article/details/88350689