题解 | #数值的整数次方#

数值的整数次方

http://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00

【剑指offer】数值的整数次方(python)

分治思想
将原问题拆分成多个规模较小的子问题,最后将子问题的解合并起来。
本题子问题是 x^{n/2},如果 n 不为偶数,拆成两半还剩下一个 x,将子问题合并时还需多乘一个 x。

# -*- coding:utf-8 -*-
class Solution:
    def Power(self, base, exponent):
        # write code here
        isNegative = False
        if exponent < 0:
            exponent = -exponent
            isNegative = True
        res = self.pow(base, exponent)
        return 1/res if isNegative else res
    def pow(self,x,n):
        if n == 0: return 1
        if n == 1: return x
        res = self.pow(x, n/2)
        res *= res
        if n%2 != 0: res *= x
        return res
全部评论

相关推荐

码农索隆:这种hr,建议全中国推广
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 17:30
点赞 评论 收藏
分享
06-25 09:33
厦门大学 Java
程序员饺子:现在日常估计没啥hc了,等到八月多估计就慢慢有了。双九✌🏻不用焦虑的
投递快手等公司7个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务