力扣面试150 Pow(x, n) 快速幂 负指数

Problem: 50. Pow(x, n)

解题方法

👨‍🏫 参考题解

复杂度

时间复杂度: O ( l o g 2 n ) O(log_{2}n) O(log2n)

空间复杂度: O ( 1 ) O(1) O(1)

Code

Java 复制代码
class Solution {
	public double myPow(double x, int n)
	{
		if (x == 0.0f)
			return 0.0d;
		long b = n;
		double res = 1.0;
		if (b < 0)// 指数是 负数
		{
			x = 1 / x;
			b = Math.abs(b);
		}
		while (b > 0)// 经典快速幂
		{
			if ((b & 1) == 1)
				res *= x;
			x *= x;
			b >>= 1;
		}
		return res;
	}
}
相关推荐
炽烈小老头11 分钟前
【 每天学习一点算法 2026/04/21】螺旋矩阵
学习·算法
未来转换25 分钟前
基于A2A协议的生产应用实践指南(Java)
java·开发语言·算法·agent
谭欣辰41 分钟前
AC自动机:多模式匹配的高效利器
数据结构·c++·算法
joker_sxj1 小时前
论文阅读-DeepSeek-mHC
论文阅读·算法
sheeta19981 小时前
LeetCode 每日一题笔记 日期:2026.04.21 题目:1722. 执行交换操作后的最小汉明距离
笔记·算法·leetcode
鲸渔1 小时前
【C++ 跳转语句】break、continue、goto 与 return
开发语言·c++·算法
AI科技星1 小时前
基于螺旋元逻辑的宇宙统一场论底层公理构建(乖乖数学)
算法·机器学习·数学建模·数据挖掘·量子计算
qiqsevenqiqiqiqi2 小时前
MC0550鱼肠剑试锋芒
数据结构·算法
仍然.2 小时前
算法题目---链表
数据结构·算法·链表
luoganttcc2 小时前
华为昇腾(Ascend)等芯片,同样存在“寄存器 / 片上存储资源限制并发”的问题
算法·华为