力扣面试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;
	}
}
相关推荐
智购科技智能售货柜2 小时前
2026自动售货机商品掉落声学计数方案:从麦克风到频谱识别的工程实践~YH
人工智能·算法
黄敬峰3 小时前
一文搞懂 LangGraph:从单 Agent 到多 Agent 协作的进化
面试
leo_messi943 小时前
面试知识点梳理及相关面试题(十六)-- 分布式设计
分布式·面试·职场和发展
土司大王3 小时前
LeetCode hot100——实现 Trie (前缀树)
java·算法·leetcode
水龙吟啸3 小时前
华为研发岗AI方向9.9机考题复盘&分析
人工智能·python·算法·华为
小七在进步3 小时前
类和对象(一)
java·数据结构·算法
Y_Bk3 小时前
2026 ICPC EC网络预选赛第一场
算法
CarIise3 小时前
C语言字符串基础:从char数组到双指针反转算法
算法
佳児素花痴╮3 小时前
C++速通2
开发语言·c++·算法
David猪大卫3 小时前
【C++修炼】异常
开发语言·c++·经验分享·笔记·学习·考研·面试