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;
    }
}
相关推荐
CPU NULL3 分钟前
Redis相关知识点总结
java·数据库·spring boot·redis·缓存
晨晖27 分钟前
Spring Boot整合Spring MVC与外部配置完整笔记
java·spring boot·后端
hweiyu0014 分钟前
数据结构和算法分类
数据结构·算法·分类
M K Q16 分钟前
2025.9 GESP三级 日历制作
算法
AI小云19 分钟前
【数据操作与可视化】Pandas数据处理-Series数据结构
开发语言·数据结构·python·numpy·pandas
沐浴露z29 分钟前
一张思维导图理清【操作系统】
java·linux·网络
x***J34832 分钟前
算法竞赛训练方法
算法
2501_9167665433 分钟前
【Springboot】主配置文件
java·spring boot·后端
前端小L35 分钟前
图论专题(十六):“依赖”的死结——用拓扑排序攻克「课程表」
数据结构·算法·深度优先·图论·宽度优先
前端小L35 分钟前
图论专题(十三):“边界”的救赎——逆向思维解救「被围绕的区域」
数据结构·算法·深度优先·图论