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;
    }
}
相关推荐
z200509306 小时前
今日算法(二叉搜索树)
学习·leetcode
逸Y 仙X7 小时前
文章三:Elasticsearch 集群恢复和索引分布
java·大数据·linux·服务器·elasticsearch·搜索引擎·全文检索
『昊纸』℃7 小时前
《C语言电子新-2026最新版》-编程语言与程序
数据结构·算法·程序设计·编程语言·软件开发
奋斗的小乌龟14 小时前
动态创建Agent02
java
吃好睡好便好14 小时前
用while循环语句求和
开发语言·学习·算法·matlab·信息可视化
ZFSS14 小时前
Localization Translate API 集成与使用指南
java·服务器·数据库·人工智能·mysql·ai编程
摇滚侠14 小时前
Java 零基础全套教程,集合框架,笔记 153-163
java·开发语言·笔记
nannan123214 小时前
后端技术栈梳理
java
王璐WL14 小时前
【C语言入门级教学】函数的概念2
c语言·数据结构·算法
不知名的忻15 小时前
B 树与 B+ 树:面试完全指南
b树·算法·面试·b+树