力扣面试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 分钟前
[Codeforces Round 1065 (Div. 3)](A-D,F)
算法
世洋Blog5 分钟前
算法导论-分治法和合并(Merge)排序
算法
源代码•宸10 分钟前
Golang基础语法(go语言结构体、go语言数组与切片、go语言条件句、go语言循环)
开发语言·经验分享·后端·算法·golang·go
l1t17 分钟前
快速加载CSV文件到数据库的工具pg_csv_loader
数据库·算法
辞砚技术录21 分钟前
MySQL面试题——索引、B+树
数据结构·数据库·b树·面试
yugi98783824 分钟前
基于Matlab的晴空指数计算实现
开发语言·算法·matlab
ADI_OP41 分钟前
ADAU1452的开发教程3:常规音频算法的开发(2)
算法·dsp开发·adi dsp中文资料·adi dsp·adi音频dsp·adi dsp开发教程
666HZ66642 分钟前
数据结构1.0 数据结构在学什么
数据结构·算法
Baihai_IDP1 小时前
Andrej Karpathy:2025 年 LLM 领域的六项范式转变
人工智能·面试·llm
君义_noip1 小时前
信息学奥赛一本通 1951:【10NOIP普及组】导弹拦截 | 洛谷 P1158 [NOIP 2010 普及组] 导弹拦截
c++·算法·csp-j·信息学奥赛