力扣面试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;
	}
}
相关推荐
独断万古他化7 分钟前
【算法通关】位运算:位图、异或消消乐,高频算法题全解
算法·位运算
你的冰西瓜18 分钟前
C++ STL算法——修改序列算法
开发语言·c++·算法·stl
大黄说说21 分钟前
彻底删除重复节点——LeetCode 82 题「有序链表去重 II」详解
算法·leetcode·链表
如意猴29 分钟前
003【高精度算法】加法/减法/乘法/除法
算法
仰泳的熊猫31 分钟前
题目1465:蓝桥杯基础练习VIP-回形取数
数据结构·c++·算法·蓝桥杯
Hag_2033 分钟前
LeetCode Hot100 15.三数之和
算法·leetcode·职场和发展
俩娃妈教编程39 分钟前
洛谷选题:P1307 [NOIP 2011 普及组] 数字反转
c++·算法
laplace01231 小时前
浮点数精度
人工智能·算法·agent·qwen
blackicexs1 小时前
第四周第五天
数据结构·算法
重生之后端学习1 小时前
98. 验证二叉搜索树
java·数据结构·后端·算法·职场和发展