力扣面试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;
	}
}
相关推荐
满天星83035774 分钟前
定长内存池ObjectPool
数据结构·c++·算法·链表
叼烟扛炮8 分钟前
C++第八讲:string 类
开发语言·c++·算法·string
Chase_______16 分钟前
LeetCode 1493 & 3634 题解:滑动窗口双指针,从“删一个元素的全1子数组“到“最少移除使数组平衡“
算法·leetcode
M ? A23 分钟前
Vue 转 React | VuReact 实时监听开发指南
前端·vue.js·后端·react.js·面试·开源·vureact
Lkstar28 分钟前
ES6+ 必备特性复习:解构、展开运算符、Symbol、Proxy
javascript·面试
悲伤小伞28 分钟前
LeetCode 热题 100_4-283. 移动零
算法·leetcode·职场和发展
星 海33 分钟前
网络芯片对IP地址最长前缀匹配算法的实现
网络·算法
OYangxf34 分钟前
力扣hot100【滑动窗口】
算法·leetcode·职场和发展
CQU_JIAKE44 分钟前
5.7【A】
算法
2zcode1 小时前
基于SVM与HOG算法的行人检测系统设计与实现
算法·机器学习·支持向量机