LCR 134. Pow(x, n)

解题思路:

分治 快速幂

Java中向下取整n/=2即可

需要结合下图理解,算法就是实现的该过程

java 复制代码
class Solution {
    public double myPow(double x, int n) {
        if(x == 0.0f) return 0.0d;
        long b = n;
        double res = 1.0;
        //例如:2^-5=(1/2)^5
        if(b < 0) {
            x = 1 / x;
            b = -b;
        }
        //分奇偶讨论,为奇数时要多乘一次x
        while(b > 0) {
            //&与运算,例如:5&1=(101&001)=001=1
            if((b & 1) == 1) res *= x;
            //x=x^2
            x *= x;
            //指数地板除2(b/=2也可以)
            b >>= 1;
        }
        return res;
    }
}
相关推荐
小辉同志1 分钟前
739. 每日温度
c++·算法·leetcode
_MyFavorite_3 分钟前
JAVA重点基础、进阶知识及易错点总结(15)缓冲流 + 转换流
java·开发语言·spring boot
Via_Neo10 分钟前
二进制枚举
数据结构·算法·leetcode
荣光属于凯撒18 分钟前
P3040 [USACO12JAN] Bale Share S
算法·深度优先
kingcjh9718 分钟前
十、RL 算法性能调优指南
深度学习·算法
qq_3331209722 分钟前
头歌答案--爬虫实战
java·前端·爬虫
TT哇23 分钟前
【项目】从“本地能跑”到“生产级部署”:Java + Docker 自动化部署深度复盘
java·docker·自动化
摇滚侠25 分钟前
JAVA 项目教程《苍穹外卖-11》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·微信小程序
muls126 分钟前
java面试宝典
java·linux·服务器·网络·算法·操作系统
执笔论英雄26 分钟前
【vllm】vllm根据并发学习调度
java·学习·vllm