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;
    }
}
相关推荐
long31612 小时前
弗洛伊德·沃肖算法 Floyd Warshall Algorithm
java·后端·算法·spring·springboot·图论
有一个好名字12 小时前
力扣-咒语和药水的成功对数
java·算法·leetcode
Loo国昌12 小时前
【LangChain1.0】第一篇:基础认知
后端·python·算法·语言模型·prompt
H Corey12 小时前
Java--面向对象之继承与多态
java·开发语言·windows·学习·算法·intellij-idea
ejinxian13 小时前
2026 年 Java 开发计划-Oracle公布
java·开发语言·java 开发计划
Sylvia-girl13 小时前
Java之日志框架
java·开发语言
じ☆冷颜〃13 小时前
交换代数的解析延拓及在CS的应用
c语言·数据结构·笔记·线性代数·密码学
MengFly_13 小时前
Java广播 —如何利用广播做服务发现
java·网络·服务发现
永远都不秃头的程序员(互关)13 小时前
【K-Means深度探索(三)】告别“初始陷阱”:K-Means++优化质心初始化全解析!
算法·机器学习·kmeans
zqmattack13 小时前
SQL sever根据身份证判断性别函数
java·数据库·sql