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;
    }
}
相关推荐
xlp666hub30 分钟前
C++ 链表修炼指南
数据结构·c++
用户83071968408231 分钟前
Spring Boot WebClient性能比RestTemplate高?看完秒懂!
java·spring boot
木心月转码ing2 小时前
Hot100-Day24-T128最长连续序列
算法
Assby2 小时前
从洋葱模型看Java与Go的设计哲学:为什么它们如此不同?
java·后端·架构
小肥柴2 小时前
A2UI:面向 Agent 的声明式 UI 协议(三):相关概念和技术架构
算法
belhomme4 小时前
(面试题)Netty 线程模型
java·面试·netty
学高数就犯困5 小时前
性能优化:LRU缓存(清晰易懂带图解)
算法
xlp666hub7 小时前
Leetcode第七题:用C++解决接雨水问题
c++·leetcode
CoovallyAIHub8 小时前
CVPR 2026 | MixerCSeg:仅2.05 GFLOPs刷新四大裂缝分割基准!解耦Mamba隐式注意力,CNN+Transformer+Mamba三
深度学习·算法·计算机视觉