LeetCode 50. Pow(x, n)--幂实现

来源:互联网 发布:center os安装windows 编辑:程序博客网 时间:2024/05/17 06:45

Implement pow(xn).

public class Main {/*    public double myPow(double x, int n) {//如果输入是(0.000001,123271483)时间会超时        double sum = 1.0;        int absN = Math.abs(n);        for (int i = 0; i < absN; i++) {            sum = sum * x;        }        if (n > 0) {            return sum;        }        return 1.0 / sum;    }//myPow*/    public double myPow(double x, int m) {        double temp = 0;        if (m == 0)            return 1.0;        temp = myPow(x, m / 2);        if (m % 2 == 0) {            return temp * temp;        } else {            if (m > 0)                return x * temp * temp;//temp >=1,越乘越大            else                return (temp * temp) / x;//temp<=1,,越乘越小        }    }//myPow    public static void main(String[] args) {        System.out.println(new Main().myPow(2.0, -3));//        System.out.println(new Main().myPow(0.00001, 2147483647));//0    }}
300 / 300 test cases passed.
Status: Accepted
Runtime: 19 ms

Your runtime beats 78.95 % of java submissions.


原创粉丝点击