题解 | #数值的整数次方#
数值的整数次方
http://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00
法一:直接运算
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param base double浮点型
# @param exponent int整型
# @return double浮点型
#
class Solution:
def Power(self , base: float, exponent: int) -> float:
res=1
if exponent>=0:
for i in range(exponent):
res=res*base
else:
for i in range(-exponent):
res=res*base
res=1/res
return res
法二:二分法分治。
高次方的幂可以由低次方的幂相乘得到。比如说我们输入base = 2,n=5 那么就是求2^5,其实可以写成2^1 * 2^2 * 2^2。
法三:位运算(思路参考题解区心谭)