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;
    }
}
相关推荐
jllllyuz14 小时前
MATLAB 蒙特卡洛排队等待模拟程序
数据结构·matlab
自我意识的多元宇宙14 小时前
树、森林——树、森林与二叉树的转换(森林转换为二叉树)
数据结构
敖正炀14 小时前
PriorityBlockingQueue 详解
java
shark222222214 小时前
Spring 的三种注入方式?
java·数据库·spring
海清河晏11114 小时前
数据结构 | 双循环链表
数据结构·链表
workflower14 小时前
机器人应用-楼宇室内巡逻
大数据·人工智能·算法·microsoft·机器人·动态规划·享元模式
ZPC821014 小时前
fanuc 机器人通过PR寄存器实现轨迹控制
人工智能·算法·计算机视觉·机器人
陈煜的博客14 小时前
idea 项目只编译不打包,跳过测试,快速开发
java·ide·intellij-idea
py有趣14 小时前
力扣热门100题之编辑距离
数据结构·算法·leetcode
JAVA学习通14 小时前
LangChain4j 与 Spring AI 的技术选型深度对比:2026 年 Java AI 工程化实践指南
java·人工智能·spring