LintCode_428_Pow(x, n)

来源:互联网 发布:淘宝店铺负责人更改 编辑:程序博客网 时间:2024/06/12 01:41

Implement pow(x, n).

 注意事项

You don't need to care about the precision of your answer, it's acceptable if the expected answer and your answer 's difference is smaller than 1e-3.

样例
Pow(2.1, 3) = 9.261Pow(0, 1) = 0Pow(1, 0) = 1
挑战 

O(logn) time

时间复杂度没能做到挑战要求 简单搜了下应该是采用二分法 不过看到logn自然应该是想到二分法咯 先整理自己写的这个吧 日后再说

public class Solution {    /**     * @param x the base number     * @param n the power number     * @return the result     */    public double myPow(double x, int n) {        // Write your code here        if(n == 0){            return 1;        }        double r = 1;        if(n > 0)        for(int i = 0 ; i < n ; i++)            r = r * x;        if(n < 0){            for(int i = 0 ; i < -n ; i++){                r = r * x;            }           r = 1 / r;        }        return r;    }}


0 0
原创粉丝点击