力扣面试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;
	}
}
相关推荐
YouRock几秒前
面试必问HTTP状态码:从“请求的一生”彻底搞懂,告别死记硬背
面试
_OP_CHEN1 分钟前
【算法基础篇】(六十一)SG 函数通关指南:博弈论通用解法,从原理到实战秒杀各类 ICG 游戏
算法·蓝桥杯·c/c++·博弈论·acm/icpc·sg函数·有向图游戏
We་ct2 分钟前
LeetCode 2. 两数相加:链表经典应用题详解
前端·算法·leetcode·链表·typescript
If using 10 days9 分钟前
multiprocessing:创建并管理多个进程
python·算法
wu_asia11 分钟前
每日一练壹
算法
程序员酥皮蛋14 分钟前
hot 100 第二十二题 22.相交链表
数据结构·算法·leetcode·链表
一只小小的芙厨27 分钟前
寒假集训·子集枚举2
c++·笔记·算法·动态规划
Y.O.U..30 分钟前
力扣刷题-61.旋转链表
算法·leetcode·链表
这波不该贪内存的32 分钟前
【无标题】
算法·排序算法
靠沿36 分钟前
【优选算法】专题二——滑动窗口
java·数据结构·算法