50. Pow(x, n)

大彬小于 1 分钟

50. Pow(x, n)

50. Pow(x, n)open in new window

题目描述

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,x^n )。

示例

输入:x = 2.00000, n = 10
输出:1024.00000

解题思路

快速幂算法。

class Solution {
    public double myPow(double x, int n) {
        if (n == 0) {
            return 1.0;
        }
        if (n == -1) {//负数边界
            return 1 / x;
        }
        double res = myPow(x, n / 2);
        double ans = 0;
        if (n % 2 == 0) {
            ans = res * res;
        } else {
            ans = n > 0 ? res * res * x : res * res / x;
        }

        return ans;
    }
}
Loading...