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

数值的整数次方

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param base double浮点型 
# @param exponent int整型 
# @return double浮点型
#
class Solution:
    def Power(self , base: float, exponent: int) -> float:
        # write code here
        if exponent <0:
            base=1/base
            exponent=-exponent
        
        result =1
#这个需要有二进制的基础知识,用exponent&1判断exponent的最后一位是0还是1如果是1的话将result和base相乘,如果是0不相乘,然后将base扩大为原来的平方。比如base原来为a,需要扩大为a的平方右移动后,再平方。如果移动后最后一位为1那么这个base就乘进去
        while(exponent):
            if(exponent&1):
                result=result*base
            
            base*=base
            exponent >>= 1
        return result

全部评论

相关推荐

门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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