TypechoJoeTheme

Toasobi的博客

数值的整数次方(中等)

本文最后更新于2023年03月07日,已超过562天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

这道题一开始我还想怎么是到中等题,这不一个for循环的事吗?
结果提交超时。。。。看来这道题没那么简单。。


(不止我一个人)

====================

  • 方法:快速幂

====================

如果是在还没看懂,可以假设一个指数然后在纸上推导一下,就是这个道理

代码如下:

<div>
class Solution {
    public double myPow(double x, int n) {
        if(n == 1)
            return x;
        if(n == 0)
            return 1.0;
        if(n == -1)
            return 1/x;
        
        return n > 0 ? quickMul(x,n):1/quickMul(x,n);
    }
    public double quickMul(double x,int n){
        if(n == 0)
            return 1.0;
        double y = quickMul(x,n/2);

        if(n%2 == 0){
            return y*y;
        }else{
            return y*y*x;
        }
    }
}
</div>
朗读
赞(0)
评论 (0)