力扣面试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;
	}
}
相关推荐
leoufung20 小时前
环形数组的最大子数组和:Kadane 算法的巧妙扩展
算法
_OP_CHEN20 小时前
【算法基础篇】(三十三)动态规划之区间 DP:从回文串到石子合并,吃透区间类问题的万能解法
c++·算法·蓝桥杯·动态规划·算法竞赛·acm/icpc·区间动态规划
CoderYanger20 小时前
贪心算法:8.买卖股票的最佳时机
java·算法·leetcode·贪心算法·1024程序员节
lxmyzzs20 小时前
【图像算法 - 40】海洋监测应用:基于 YOLO 与 OpenCV 的高精度海面目标检测系统实现
opencv·算法·yolo·海上目标检测
风筝在晴天搁浅20 小时前
代码随想录 417.太平洋大西洋水流问题
算法
Tisfy20 小时前
LeetCode 3606.优惠券校验器:分类 + 排序
leetcode·题解·排序
Zsy_05100320 小时前
【数据结构】排序
数据结构·算法·排序算法
青山的青衫20 小时前
【二分查找-开区间思维】
算法
Swift社区20 小时前
LeetCode 449 - 序列化和反序列化二叉搜索树
算法·leetcode·职场和发展
CoderYanger20 小时前
贪心算法:3.最大数
java·算法·leetcode·贪心算法·1024程序员节