LeetCode Pow(x, n)

来源:互联网 发布:原油api数据怎么看 编辑:程序博客网 时间:2024/06/11 19:56

Implement pow(xn).

思路:

先把 x = 1 或者 -1 判断了,然后将 n 分类讨论, n < 0; n == 0; n == 1, 先计算 pow(x,n/2),然后求其平方,否则时间上过不去。

class Solution {public:const double EPSILON = 1e-6;double pow(double x, int n) {if (n == 0 && x != 0 || x == 1)return 1; if (fabs(x + 1) <= EPSILON) return (n & 0x1) ? (-1) : 1;if (n == 1)return x;if (n < 0)return pow(1 / x, -n);double dtemp = pow(x, n / 2);if (n & 0x1)return dtemp * dtemp * x;elsereturn dtemp * dtemp;}};


0 0