您的位置:首页 > 编程语言 > Java开发

leetcode:Pow(x, n) 【Java】

2016-03-05 17:08 603 查看
一、问题描述

Implement pow(x, n).

二、问题分析

在实现分治递归时,结束条件加n==1,可显著提高算法运行效率。

三、算法代码

public class Solution {
    public double myPow(double x, int n) {
        if(n < 0){
            return 1.0 / pow(x, -n);
        }else{
            return pow(x, n);
        }
    }
    public double pow(double x, int n){
        if(n == 0){
            return 1;
        }
        if(n == 1){//结束条件加n==1,可显著提高算法运行效率
            return x;
        }        
        double value = pow(x, n / 2);
        if(n % 2 == 0){
            return value * value;
        }else{
            return value * value * x;
        }
    }    
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: