首页 > 代码库 > [剑指offer]Q11:数值的整数次方
[剑指offer]Q11:数值的整数次方
pow(base, exponent)
考虑一下几种情况:
base = 0, 那么直接返回0
base = 1, 那么直接返回1
exponent = 0, 那么直接返回1, 注意base= 0
exponent = 1, 那么直接返回 base
exponent 为正为负 的情况
主要考察的点是将问题缩减,用折半的思想。这个题细节还是很多的,为了便于验证,leetcode上恰好有这个题,建议在线AC一下。
def equal(self, a, b): return abs(a - b) < 1e-7 def pow(self, x, n): if 0 == n and self.equal(x, 0): return 0 if 0 == n: return 1 if 1 == n or self.equal(x, 1.0): return x pos = True if n < 0: pos = False n = abs(n) re = pow(x, n >> 1) * pow( x, n >> 1) if n & 1: re *= x if pos == False: re = 1.0/re return re
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。