力扣面试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;
	}
}
相关推荐
圣保罗的大教堂1 分钟前
leetcode 3212. 统计 X 和 Y 频数相等的子矩阵数量 中等
leetcode
比昨天多敲两行5 分钟前
C++ Lsit
开发语言·c++·算法
我爱C编程5 分钟前
基于OMP正交匹配追踪和稀疏字典构造的杂波谱恢复算法matlab仿真
算法·matlab·omp·正交匹配追踪·稀疏字典构造·杂波谱恢复
云青黛7 分钟前
ReAct(推理与行动)框架
python·算法
野犬寒鸦9 分钟前
从零起步学习计算机操作系统:I/O篇
服务器·开发语言·网络·后端·面试
im_AMBER18 分钟前
Leetcode 142 将有序数组转换为二叉搜索树 | 排序链表
算法·leetcode
码农三叔19 分钟前
(10-5-01)大模型时代的人形机器人感知:基于RoboBrain大模型的人形机器人通用智能感知系统(1)构建模型
人工智能·算法·机器人·人形机器人
scott19851220 分钟前
扩散模型之(十三)条件生成 Conditioned Generation
人工智能·算法·生成式
Wect30 分钟前
LeetCode 53. 最大子数组和:两种高效解法(动态规划+分治)
前端·算法·typescript
Fairy要carry35 分钟前
面试-Agent任务编排怎么处理?
网络·python·面试