力扣面试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;
	}
}
相关推荐
sunburn-2 小时前
Java 排序算法详细教学:从冒泡排序到快速排序
java·开发语言·数据结构·ide·算法
王中阳Go2 小时前
面试官问"你怎么证明它有效",200个转AI的后端没几个答得上来
人工智能·后端·面试
阳明山水2 小时前
因果嵌入与流水线范式的本质差异
人工智能·深度学习·算法·机器学习·架构
小静AI工程实验室2 小时前
MD5 算法详解:哈希原理、标准向量、输入编码与安全边界
算法·安全·哈希算法·md5
小许同学记录成长2 小时前
几何体编辑算法
qt·算法
进击的明明2 小时前
TypeScript速通笔记(上)
前端·面试·typescript
土星云SaturnCloud3 小时前
HRNet-pose 算法全解析:从高分辨率网络原理到土星云 SE110S 边缘部署实战
服务器·人工智能·算法·ai·边缘计算
老马识码3 小时前
[agent开发面试]上下文工程与压缩:Agent 的稀缺资源
人工智能·面试
bksczm3 小时前
零基础面试题1
jvm·数据结构·算法
m0_739312873 小时前
【自动驾驶与机器人技术】之惯性导航与组合导航
算法·机器人·自动驾驶