力扣面试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;
	}
}
相关推荐
xys_67811 分钟前
深挖数据结构:树和二叉树(上)
数据结构·算法
Interview Aid11234 分钟前
Google SWE Intern VO 面经:两轮 Coding,Follow-up 考察 BFS 状态
算法
花间相见39 分钟前
【计算基础|MySQL09】索引(下):失效与设计
数据库·后端·面试
前端小万1 小时前
探索副业五个月,最终以放弃告终
前端·后端·面试
学到老活到老1 小时前
CAS:不加锁,AtomicInteger 怎么把计数加对?
面试
琳达爱分享1 小时前
从单机令牌桶到集群限流:一次配额超发的复盘
后端·算法
职豚求职小程序1 小时前
中国铁塔2027届校招开启,网申怎么投、笔试面试怎么准备?
面试·职场和发展
range1 小时前
带TTL的LRU缓存的实现-字节手撕-26/10/19
算法
糖果豆豆1 小时前
n log n 到底从哪来?排序下界、2-SAT 与 3-SAT、停机问题,卡的是同一件事
算法·架构
弈栈录1 小时前
向量化、召回与重排序服务的实现
后端·面试·架构